Json output

Add support for basic JSON generation in Calendars
also, if you do inline like this, you could probably inline the above definitions of start/end date and it would look good, and you could still have comments