correct the param type
adjust return to be inline with HTTP specification

edit and delete endpoints return no body just relevant return codes.
Mongo handler does return update for testing purposes
move validation and set create and update dates

new endpoints we need to know when a message was first created and also
when it was edited. Also rationalised some of the tests. Use sundial
for the dates