Expand recurring event instances to real events.

See [Calendar API v3 Best Practices: Recurring Events](http://googleappsdeveloper.blogspot.com/2011/12/calendar-v3-best-practices-recurring.html)

> By default, when listing events on a calendar, recurring events and all exceptions (including canceled events) are returned. To avoid having to expand recurring events, a client can set the singleEvents query parameter to true, like in the previous versions of the API. Doing so excludes the recurring events, but includes all expanded instances.

The current script worked around recurring events by ignoring them
completely. That is, the Calendar API would return the first event
date, but not any of the recurrances.

This changes the API query to request recurring events as single events.
This causes recurring events to show as their "real" dates and times,
and has the additional benefit of also ignoring individual instances
that have been deleted from the calendar.
Merge pull request #4 from pdclark/recurring-events

Expand recurring event instances to real events.