Feature/net http errors

* Implements an errors hierarchy for non successful http responses
* Net Http requests raise the appropriate error from the errors hierarchy if the response is one that is not classed as successful 

* related to #106 
Paul, can we simplify this by introducting `#get!` and friends which will raise the exception? This won't break any code.

Also, do we really need this YAML translation? Isn't there a way we could just "re-raise" Net::HTTP's exception? The less code in Roar the better. Although I do like your idea of providing additional messages in the exception according to the status code.