Calendar objects and helper objects for calendar objects.

This package contains calendar objects, such as `Event`s and `Keyword`s, which are all subclasses of `CalendarObject`. It is assumed that `CalendarObject`s will be be contained in `Cache`s. For convenience, an `Events` cache includes all the other `Cache`s for a user, such as the `Keywords` cache.

Access to `CalendarObject` should be governed by the object's `AccessRights`. Currently, all such checks are made by the `Cache`'s public methods, notably, `add`, `delete`, and `replace`. Other security checks may be required if the API is extended to allow for other methods of accessing, deleting, or changing `CalendarObject`s.