Renaming more test variables.

Somehow these ones got missed.
More repository tests.

Extra edge cases.
Removing malformed repository link.

If it's missing data we can't construct the repository URL, so don't
attempt it at all.
Reducing imports by removing version from agent.

Reducing the dependencies by stripping the version number from the user
agent, at least for now.
Not strictly "languages" for the .gitignores.

They're often but not always for a specific language. There's also a few
in there that are for specific tool sets, so the wording needs to be
changed.

Basically, renamed "language" to "template".
Updating responses library.

Updating `responses` to 0.3.0, which has the very cool regex features.
Adding the initial client module directory.
Moving the `Client` code.

Moving into the `client` package where the rest of the clients are also
going to live.
Don't duplicate the stored URLs.

Just expose the existing ones.
Fix up the test imports.
Redundant variable.

Doesn't get exposed as VERSION any more (or at all).
Refactor imports.

Instead of needing the full path, expose selective parts through each
interface. From the `gh.client` package, we're only exposing
GitHubClient and GH_URLS. These are then exposed again through the top
level package as well (for tests and end users).

If it changes underneath the `gh.client` package in future, it now won't
(or at leastt, shouldn't) affect the top level package at all.
Adjusting client tests.

The `api` test section can be simplified for imports, since they're now
exposed through the main package.

Removing the `APIClient` test simplifies things as well, since it was not
a required test; any features for the `APIClient` should be tested through
the `GitHubClient` instead since that's what actually matters.
Switching to relative imports.

Simpler to understand.
Asserting imports.

Need to `assert` the "exposed imports" to get around static analysis
warnings and lint warnings.