Handle 400 Bad Request w/ JSON API Error format

Currently, a 400 due to a validation error will become a 500, due to convert_resource expecting a DRF data object.  This changes the behavior to wrap the error dictionary in a JSON API Error format.

Builds on previous merge request.