Error with a 415 code if the Content-Type is not application/json

- This uses a `before_filter` in ApplicationController to check
  Content-Type, leaving `respond_to` to deal with the Accept header.
Remove the `put_json_with_invalid_headers` helper

- In favour of just specifying the PUT directly to avoid ambiguous
  naming.
Split the Accept/Content-Type tests into two, with two status codes