Add an XML parser based on SabreDAV client

SabreDAV client is really great, but I want to split XML parser and
generator on two different classes, so some code is borrowed (thanks Evert!)