Better error handling

This branch

* Raises on all otherwise unhandled errors in 400-599 status range
* Handles new 415 Unsupported Media Type error
* Parses the documentation URL returned by the API

/cc @catsby @jasonrudolph @jdpace