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 
ok so we'll need to find a replacement for String#humanize and String#constantize