Return error on >= 400 status codes
Add custom errors

- ErrorInvalidHost (example: http://foo.bar)
- ErrorTimeout
Outsource errors to errors.go
Remove Basic Auth support

Who'd use this, anyway?
Merge branch 'custom-errors' into 0.2.0-development

* custom-errors:
  Remove Basic Auth support
  Outsource errors to errors.go
  Add custom errors
  Return error on >= 400 status codes