No longer allow user to specify 404, 5xx explicitly in api.json

404, 5xx have specific meanings in api.json, including the desire for client code to be simple We want to make sure that 404 does not include any data - errors returning data can use different response codes.

This change makes it a validation error to include an explicit 404 or 5xx response code.

For 404s:
  - we add a 404 check for all GET requests
  - if method returns an array, 404 returns Nil
  - if method returns an instance, return type will return Option[Instance]; 404 returns None