steam-http: implemented request monitoring

Some HTTP requests fail to receive a response from the server. This
issue has become known with the keep-alive based requests, which are
currently used for polling operations. With poll requests, a response
is essential to the continuation of the polling loop, otherwise the
loop becomes broken.

This patch simply ensures that specified requests receive a response
within an alloted timeout. If a response is not received, an error is
raised on the request.