Fix plugin output parsing

Prior to this commit, the name of the plugin included the colon (:)
character, which would result in plugins always being installed. This commit
addresses that issue. Refs #122
Accept 403 responses while waiting until the server is ready

After enabling authentication, any endpoint the CLI tries to hit will require
HTTP Basic Authentication. We do not want to provide a Basic Authentication
mechanism, since we don't use the HTTP API anywhere else.

If the server responds with an HTTP 403 (Unauthorized), we can safely assume
that Jenkins is running. The only way we would get that error is if Jenkins
is fully booted, so getting a 403 response in this case satisfies the
constraint that the server is "ready".

- Fixes #126
- Closes #127
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:

    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.
Add a note about the required credentials plugin

- Closes #123
Fix a typo in jnlp slave jar URL
Fix typo in README.md
Merge remote-tracking branch 'upstream/master'

Conflicts:
	libraries/_helper.rb
added output attribute for jenkins_command