Check Content-Type and Accept headers

If the Content-Type and Accept headers are not set to `application/json` on the request, return 415 or 406 respectively, with a helpful error message.
What about: `Invalid Content-Type header. You must send application/json.`?