Demeter adding and removing responses for `TestClient`

This demeters adding and removing responses for `TestClient`s.
This avoids demeter violations that were commonly used like
`client.responses.add`. This is to avoid issues if we decide to
change how the responses are accessed or other parts of their
interface.
Merge pull request #36 from redding/jcr-demeter-test-client

Demeter adding and removing responses for `TestClient`
Add comparison methods and call runner attributes to `TestClient`

This adds comparison methods to `AndSonClient`, `TestClient` and
`CallRunner`. This allows comparing if 2 clients or call runners
are equal to each other. This also adds call runner attributes to
the `TestClient`. These were missed when originally implementing
the `TestClient`. This allows the `TestClient` to store params,
a logger and a timeout like a regular client/call runner.