Json output

Add support for basic JSON generation in Calendars
Makes sense. This seems like a good case for either explicitly catch/re-raising an error here, or putting in a TODO in the code so we don't forget/know where the issue might be.