Consolidate test harness

I took a stab at combining the set up for the test harnesses into t/lib/TestHarness.pm. The summary is

```perl
my $harness = TestHarness->new(
    this_file => $FindBin::Script
);
my %selenium_args = %{ $harness->base_caps };
unless ($harness->mocks_exist_for_platform) {
    plan skip_all => "Mocking of tests is not been enabled for this platform";
}
```

It takes as its only argument the short name of the current test file (ie, for `t/01-driver.t` it expects `01-driver.t`). It determines the `selenium_args` and keeps a reference to the `mock_remote_connection` so it can later dump it when it's `DEMOLISH`ed. 

I don't know that I can `skip_all` from inside the TestHarness class, so one method exists to double check that when we're replaying results, we have a mock to use.

todo:

- [ ] keep mock names consistent - create recordings for test-selenium-remote-driver-google-**mock**-darwin|linux.json. 
- [ ] fix travis by committing linux mocks for test selenium remote driver google.