Timeout request if authentication takes too long

It's possible that gds-sso authentication takes too long (>5 secs).
In those cases, if the request was made by an upstream system (as
opposed to an end-user), then the upstream request may time out.

Because apps within the stack are talking to each other over https,
the upstream request timeout doesn't necessarily cancel the request
in this app, but the upstream system retries, so this scenario can lead
to multiple successful support app requests (and hence data duplication).

This change times out authentication after several seconds (3 by default).
Merge pull request #122 from alphagov/timeout-if-authentication-takes-too-long

Timeout request if authentication takes too long