Add null end dates

Setting an end date as undefined has the following effects:
* it disables the end date/time boxes
* it unsets the end_date field on the model (within the serialize event)
* it triggers a call to materialize

Materialize is now evented. Child views of the parent builder register with the parent builder, so it can listen to them. When they trigger a bonnie:materialize event, the patient builder kicks off a call to materialize.