Clean up calendar formatting of all day and multi day events.

* Allow the specification of a startDate and an endDate in the calendar handler for testing.
* For a multi day event, print start day and end day.
* Add a bunch of tests to check for events that cross DST, multi day, all day.