Continue to make dates/times the internal format, and strings the alternartive

these changes update,
     all_day?
            to expect date/time fields, and also convert to UTC for comparisons (for simplicity), and consitency.

    to_xml
           Now correctly formats the start/end dates given a non-string source

   new_from_xml
          Now returns nil when their is no source "when" field (so no start end time). this protects against loading zombie events that you can create, but never see on google calenders. the old default behavior of just taking the current date time, lead to event creation by reading the same calendar multiple times, with a new current date event made each time.