Allow running multiple routers in tests.

Needed for configuring with different timeouts etc.
Implement configurable backend header timeout

This implements a timeout from request being sent to response headers
being received.  Defaults to 15 seconds.
Implement connect timeout.

The tests for this depend on a firewall block rule.
Allow enabling log output from router in tests.
Handle connection refused from backend with 502 status
Merge pull request #37 from alphagov/timeouts

Add configurable timeouts.

[Delivers #59392316 #58410208]