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.
i believe we should be testing this behaviour at both levels, hence i've added missing tests.

though we're testing the same action, the assertions are on different objects. in the integration tests we're testing the response status and data, whereas in the unit test we're testing the `ContentItem` instance method in isolation.