Json output

Add support for basic JSON generation in Calendars
Yeah, I have a question about how to handle multi-day events (where date ranges overlap but individual dates may not). Bare minimum functionality is hacked in, along with the empty method that I may/may not delete later depending on how complex of edge cases I need to support.