Allow using URI instances for request building.

It would be nice if the api allowed for with a uri represented as a string, or a URI::HTTP instance.  Without this URI bubbles up a fairly cryptic error message:

```ruby
HTTP.get(URI('http://google.com'))
# URI::InvalidURIError: bad URI(is not URI?): http://google.com
```