Fail hard if misused and let Sinatra handle producing an appropriate HTTP response.
Now using json_expressions for integration spec so that JSON unordered hashes don't produce unreliable results (also moved expected JSON definition into spec file.