Use a custom URI joining method, since Ruby's sucks

Refs: #129, #130, #131

Ruby's native `URI.join` method will strip any leading paths from the joining URI, meaning users working behind a proxy get stuck. In other words:

```ruby
URI.join('http://localhost/jenkins', 'foo') #=> 'http://localhost/foo'
```

Notice that the `jenkins` is dropped? Whoever thought that was a good API?

This commit adds a new method, +uri_join+ on the helper class, that intelligently joins n-parts of a URL, URI-escaping each element for safety, and returning a normalized URI.