This commit prepares GcalEvent to handle alarms. Basically, it is now able to load the current alarms of an event, and add and remove alarms for them.
Instead of relying on confusing structures, raw data and direct access to components, add a wrapper for events.