If the Graphite Web server is unreachable, all requests for frontend
pages containing graphs hang until the backend HTTP request times out,
resulting in a very poor UX.
The Guzzle documentation states that the default behaviour is to wait
indefinitely, however in our testing the cURL handler has an internal
default of 30 seconds:
https://docs.guzzlephp.org/en/stable/request-options.html#timeout
This commit makes the HTTP request timeout configurable and sets a
reasonable default of 10 seconds.