sync only one capability in sync on edit

i.e. calendar changed => sync only calendar not contacts
reworked iCal parsing & generation to correctly handle exceptions

created calendareventhandler as intermediate layer to handle this.
fixed parsing issue in ical
reworked timezone handling
handle multiple rdate rules correctly
created SyncKey class to prevent this.client.transport.syncKey...
if deleting object and server can't find object => accept delete as ok
created ID class to handle some remoteId mangling
moved some etag handling into it's own class & file
rewored save error state to prevent rev errors from db
added addeventassistant to easiertest ical parsing
0.3.7