Setup `Client` for building live and test clients

This sets up the `Client` to eventually provide a live and test
client. `Client` is now a module that will eventually look at the
test mode and decide to either build a live or test client. For
now it always builds a live client, keeping it consistent with how
it previously worked.

This also moves the call runner logic to it's own file and changes
it from an open struct to a custom class. This is also setup for
more logic being added to the client file (for the test client) and
to avoid the file become hard to work in.

Finally, this removes the fake connection that was manually built
in AndSon and switches to using the Sanford-Protocol fake
connection in the call runner tests. This is to help with future
maintenance and not having to keep a separate fake connection
compatible with any changes made to the protocol.
Merge pull request #32 from redding/jcr-split-call-runner

Setup `Client` for building live and test clients