Improve error message for JSON parsing errors

This works by overriding the Flask Request's json
`on_loading_json_failed(e)` function so that it returns a descriptive
HTTP 400 rather than an empty one.

https://www.pivotaltracker.com/story/show/69911234

[Delivers #69911234]