Json output

Add support for basic JSON generation in Calendars
Lazyness keeps the find_all/selects from being evaluated until the last call (the date range selection in find_events), so I can chain multiple calls to Enumerable to refine the results.