Generate PROPPATCH XML bodies from XML generator

Adds a test as well
Make some calendar properties read-only

CalDAV servers will complain when issuing a PROPPATCH/MKCALENDAR that
contain some properties that are considered read-only (e.g. DAV::owner, ctag,
etc).

Calendars now have a list of read-only properties and a new getWritableProperties()
method that returns all properties but the read-only ones.
Create new calendars using only writable properties
Make the CalDAV client able to update calendars

Using PROPPATCH, and only for writable properties