Added a new calendarObjectChange event.

This event allows people to specifically hook into CalDAV operations.
It allows you to get direct access to the VObject. Before this event,
you had to use beforeWriteContent and beforeCreateFile, and you were
forced to parse the iCalendar object.

This also makes scheduling a bit faster, because we only have to parse
the iCalendar/jCal object once.
Updated changelog.
Fixed docblocks.
Merge pull request #538 from fruux/calendarObjectChangeEvent

Added a new calendarObjectChange event.