Standardization 'n Stuff

Lots of cleanup here

* Organizing test code and support files
* Ensuring request id header is available on every response
* Including errors for invalid status like 401, 403, 404, etc. instead of just empty bodies
* Introducing `Api::Serializer` to standardize serialization without depending on other gems