Tweak URI implementation for compatibility with stdlib

When `url.scheme` is changed from "https" to "http" when someone
configured their Enterprise instance to be used over insecure protocol,
the "speedy" implementation changed the port as well, but the stdlib
implementation doesn't. Things would break if someone used hub in an
environment where stdlib URI was already loaded, like for instance from
RubyGems.
Ensure tests use URI from speedy_stdlib even if Bundler loaded URI

When running through `bundle exec`, Bundler will have loaded URI already
which will make our speedy_stdlib skip redefining it.

Aggressively undefine URI if loaded through Bundler so that our tests
perform against our implementation, not the stdlib one.
Merge pull request #626 from github/fix-uri-port

Tweak URI implementation for compatibility with stdlib