TODO
=====

- After kronolith gets support for different organizer/owner fields, must
  properly set the organizer for meeting responses. Currently, the event
  created from a meeting response does not contain the organizer of the original
  event. So when the event is sync'd back to the device, it allows the user
  to cancel the event and send updates to all attendees. Also, it will then be
  possible to automatically add responses to the kronolith event from the
  incoming activesync response message.

- Email recurrence related properties for recurring meeting requests.

- Recipient Information Cache: Sync with Turba's favorites source.

- Email categories - possible to map to custom IMAP Flags?

BC BREAKING (i.e., Horde 6).
============================

- Move all non-specific constants to single class.

- Clean up the various foldertype constant messes. I.e., probably store
  the Horde_ActiveSync::FOLDER_TYPE_* and Horde_ActiveSync::CLASS_* values
  in the saved state instead of having to switch between them in various
  places. (Some client commands are sent using the CLASS, some using the
  FOLDER_TYPE).

- Clean up and refactor the folder creation/editing/deleting methods in the
  backend. They need to be normalized in accepting/returning the same objects
  now that we support multiple folders per non-email collection.

- Refactor Horde_ActiveSync_State_*::listDevices() to return a
  Horde_ActiveSync_Device object instead of a hash keyed by backend field names
  and to take the object property names as filters instead of backend field names.