Return helpful message if value is of wrong type

www.agileplannerapp.com/boards/173808/cards/6128

instead of returning a 500 because of exceptions `Mongoid::Errors::InvalidValue`, return an error message when a value is of incorrect type.
The tests for the existing exception handling on this method are done as [a integration test](https://github.com/alphagov/content-store/blob/master/spec/integration/submitting_content_item_spec.rb#L225-L240).  It's probably worth these new tests being consistent.  If you do think they're better off on the model, it's probably worth introducing a context for the `create_or_replace` method, and keeping them all in there.