Event migration

Jon and Amal collaborated on this.
replaced the event model fields (event_date, start_time, end_time) 
with (start_datetime, duration).  
This removes the need for the from_must_come_before_to validation.
Many changes to accomodate tests, event _form view, events controller services (create and update), and more.
No migration test. I don't know if it's necessary, but if you insist, then I'll work on it.
I think that is simply fails (i.e.does nothing) with a rollback.  This should probably be 'up', not 'change'.  And then 'down' will need to be coded as well.  I will give it a shot.