Implement milestone creation

Pair-programmed with @Vagabond

Will create a milestone with required title, description and date
fields. If hte milestone already exists (based on title), the
description and date fields are updated. There is not yet a way to edit
the title of a milestone.