Add custom errors

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

Who'd use this, anyway?