Calendar scheduling support

This pull request introduces rudimentary support for [RFC6638][1], a.k.a. CalDAV scheduling a.k.a. `calendar-auto-schedule`.

Initial goals:

1. Support for VEVENT scheduling (VTODO, VJOURNAL may come later)
2. Delivery of invites to CalDAV inboxes
3. Automatically updating invites when replies come in

I've superficially tested iCal, and a few basic scenarios. I imagine in real-world use and with other applications, a lot of broken behavior and missing features may come to light.

We're not aiming for 100% compliance yet, that will come over time. First we need a solution that works well across many popular clients. Priority is to make this plugin 'good enough' and then ship.

So for any problem we come across we need to make a call whether that's critical for the initial release, or if we open it as a separate feature request to be completed for a later sabredav version.

Help with this would be most welcome :)

### Tasks to complete

- [x] Read iTip top-to-bottom again
- [x] Read Scheduling rfc top to bottom again
- [x] 100% unittest coverage of newly written code
- [x] Merge https://github.com/fruux/sabre-vobject/pull/103
- [x] Organizer deleting an event does not cancel the event
- [x] Replying to specific instances in recurring events currently fails with a 500.
- [x] Attendees are not made aware of other attendees reply status.
- [x] Move calendar-user-address-set back to main CalDAV plugin
- [x] Add `SameOrganizerForAllComponents` exception
- [x] Automatically reset PARTSTAT on attendees when [the event time changes][4]
- [x] Figure out if we can get away with not supporting [schedule-tag][5] right from the get-go.
- [x] Handle [REQUEST-STATUS][6]
- [x] Implement [Schedule-Reply][7]
- [x] Disable draft scheduling behavior for old iCal versions
- [x] Rebuild iMip support
- [x] Ignore calendars with schedule-calendar-transp set to transparent in freebusy reports.

### Clients to test

We'd like to test:

* [x] iCal
* [x] iOS
* [x] BusyCal
* [x] Thunderbird + Lightning
* [x] emClient
* [x] Evolution

Any other big ones?

### Things to test

Things that need to be tested for every client:

1. Inviting people to an event.
2. Accepting an invite.
3. Tentatively accepting an invite.
4. Declining an invite.
5. Inviting people to a recurring event.
6. Accepting all instances of a recurring event.
7. Declining all instances of a recurring event.
8. Accepting a single instance of a recurring event.
9. Organizer of an event updating a single instance of a recurring event.
10. Attendee deleting an event.
11. Attendee deleting a single instance of a recurring event.
12. Freebusy support.

Preferably some of these tests also happen with more than one client, communicating and cooperating with each other.

### Things that are out of scope for this release:

1. [Enforcing what clients can change in iCalendar events][2].
2. [VTODO scheduling][8].
3. [Be smarter about when not to send scheduling messages][9].
4. [Schedule-tag support][10].
5. [Wipe out redundant inbox messages][11].

[1]: http://tools.ietf.org/html/rfc6638
[2]: https://github.com/fruux/sabre-dav/issues/488
[3]: http://tools.ietf.org/html/rfc6638#section-3.2.7
[4]: http://tools.ietf.org/html/rfc6638#section-3.2.8
[5]: http://tools.ietf.org/html/rfc6638#section-3.2.10
[6]: http://tools.ietf.org/html/rfc6638#section-4.2
[7]: http://tools.ietf.org/html/rfc6638#section-8.1
[8]: https://github.com/fruux/sabre-dav/issues/489
[9]: https://github.com/fruux/sabre-dav/issues/492
[10]: https://github.com/fruux/sabre-dav/issues/501
[11]: https://github.com/fruux/sabre-dav/issues/502