Introduce public calendar api [WIP]


We need a public api in ownCloud core to access available calendars.

The basic design of the api follows the contacts manager approach which is in place for quite some time now.

There are basically 3 pieces involved:
- the manager - holding all calendars
- the calendar - holding events and tasks
- the event/task

Please review the api design! THX

@karlitschek @MorrisJobke @georgehrke @Raydiation @PVince81 @schiesbn @butonic THX
the unique id used by caldav is the uri. In most cases the uri equals the uid, but that's not always the case. The caldav standard says that all objects with the same uid have to be stored in the same resource. So the example I posted would be stored in one single db row.