Api error handling

Resource endpoints now return JSON error messages with a status code of 200 for any 4xx or 5xx error.  Reason being is Chrome doesn't properly report CORS errors.  Or more correctly, Chrome properly hides CORS errors making it impossible for the client to know what went wrong.