make lint
Use Control.Exception.SomeException.
Use FormValue types.
Use headers insteads of a modifier on the options.
Comment out passing tests.
More commentary.
Added specs for the ref API.
linting.
Moved spec types around and added utilities.
Added api404.

This returns `Nothing` if the server returns a 404.
Just pass through Aeson's error message.
linting
Implement the ref API.