making Event.end_time optional. closes issue #11 and issue #12