Use better exceptions. Remove superfluous class.

This adds an HttpException to the rest subpackage, which is used for
reporting HTTP-specific errors (namely, unexpected status codes). Before
we were throwing an IOException, which doesn't make a lot of sense for
unexpected status codes.

This also removes the PrecogServiceConfig class, as its sole purpose was
simply to deconstruct a Heroku token. The code was quite small, so it
was moved to PrecogClient. We may want to add a similar class back-in
later (though I imagine as a builder), but no point in making things
messy right now.
Add some more documentation to Precog client.