Moving tests around.

Testing two things at once is now two tests.
Multi-line test.

Very few are just one line.
Add an informal string representation.
Adding the informal string tests.
Add a client for the GitIgnore API.

The first steps for making an API call to the GitIgnores API.
`gitignores.available()` method to list available templates.
Adding network tests with responses.

Using the `responses` library, test one of the network calls.
Adding the GitIgnore component to the client.

Make the tests actually possible..
Change test responses to use regular expressions.

The `responses` library lets us set the URL as a regular expression.
Use the full name for the gitignore.
Renaming gitignore files.
Renaming to Service.
Moving "service" tests around.

Rearrange the test structure and move the "services" and "clients"
into their own structure.
Rename the core module.

Since the services were moved, the core client name didn't make as much
sense, so give it a better name.
Move the core tests.
Extract the regex url into a pytest fixture.

I suspect that this will come in handy.
Reverse the public/secret ordering.

Store it as `public` not `secret`.
Fix up the last remnant.

The rename missed this last part of the docstrings.