Tidy up router helper.

It now holds all the integration that's specific to this implementation of the router.  The rest of the test suite should be generic.
Add macro to simplify starting backends.
Add have_response_body matcher.
Add tests covering backend selection based on routing data.
Merge pull request #9 from alphagov/backend_selection_tests

Backend selection tests
Increase wait time for backends/router to start
Add echo test backend.

This returns a JSON body containing the received request details, and
the request body (the http.Request object contains the Body as an
io.Reader, which doesn't serialise into JSON easily...)
Merge pull request #8 from alphagov/increate_spawn_wait

Increase wait time for backends/router to start
Merge pull request #11 from alphagov/echo_test_backend

Add echo test backend.
Switch to useing httpclient

This allows more fine-grained control over requests.
Functional tests around proxy header handling
Add tests for HTTP/1.0 support
Add pending test around default User-Agent
Pending test for support for the Via header
Add tests for verb, path, query and body handling
Merge pull request #12 from alphagov/proxy_function_tests

Proxy function tests

[Delivers #58407322]