Return descriptive errors from bad cookbook uploads.

:fork_and_knife: 

https://trello.com/c/2DdyWZUw/283-provide-more-details-when-a-cookbookversion-s-content-type-is-invalid

This worked before at a model level, and if the attachment itself was bad, but it failed when the `Content-Type` of the request was bad.  This fixes that.