Initial integration test harness.

Includes 404 test for router with no routes.
Initial basic routing tests.

This includes all the orchestration to create test backends, and get a
request through the router to them.
Port remaining backend selection tests to Go
Port redirect tests to Go.

This required switching from using http.Client to http.Transport to make
the http requests.  http.Client follows redirects by default, whereas
http.Transport operates at a lower level, and makes a single request.
This is what we want for these tests.
Port gone handler tests.

Also DRY up the route_helpers a bit.
Add helpers to capture router log output.

Due to the asynchronous nature of the logger, the line in the log file
may not immediately be written.  This therefore has to poll the logfile
until a line is written.
Port first part of proxy function tests.

These cover connections timeouts/issues etc.
Prevent HTTP request helpers setting a User-Agent.

The Go http library sets one by default, so we need to prevent this.
Port proxy header handling tests
Port remaining proxy function tests to Go
Initial performance test.

Basic test comparing router with direct requests.
Port remaining performance tests to Go
Port route loading tests to Go
Port reload API specs to Go
Port error handling tests to Go
Remove remaining bits of ruby test suite.

There are no longer any tests using rspec, so nothing depends on ruby
any more.
Update README to reflect changes to testing.

This also includes changes to reflect the recent switch to gom in #74
Merge pull request #77 from alphagov/integration_tests

Port integration test suite to Go