Use a the Addressable library to parse Git URIs

This allows the auto-detection of the repository name to be more robust
and handle more cases. The built-in URI library doesn't handle SSH URIs
(git@github.com:owner/repo.git), which is why I had to get the
dependency.

See #103.
Show an error if a full slug isn't used for -r

Using '-r repo' instead of '-r owner/repo' would throw an error, but not
a very helpful one. This will improve the error message to one that is
much more useful.

Fixes #103.
Merge pull request #119 from travis-ci/hh-improve-repo-detection

Improve repo detection