Standardized http errors in REST server

Every http error thrown by the REST api will follow a new format where error messages are determined by the http error code that was thrown, and a description is supplied by the endpoint.

Also, updated descriptions thrown by the recording api to make descriptions clearer.
Move this out of the `with` since you aren't testing that it raises an exception.