Separate out Client and Harness

This is so much cleaner. Before we basically had Harness subclass
Client. This way we make the Client the shared piece, and the Harness is
specific to the application under test (in this case, Aspen, in the next
case, Gittip).