[tls2] implement blocking client session in terms of aiohttp (#9863)
[tls2] implement blocking client session in terms of aiohttp (#9863)

* [tls2] implement blocking client session in terms of aiohttp

This change replaces uses of `requests.Session` with uses of
`BlockingClientSession`. The latter is a class introduced by this
PR. BlockingClientSession is a shim around
[`aiohttp.ClientSession`](https://github.com/aio-libs/aiohttp/blob/master/aiohttp/client.py#L167). I
also needed these new classes:

- `BlockingClientResponse`, representing a response to an HTTP request. Wraps `aiohttp.ClientResponse`.

- `BlockingClientWebSocketResponse`, representing a web socket session. Wraps
  `aiohttp.ClientWebSocketResponse`

- `BlockingClientresponseContextManager` and
  `BlockingClientWebSocketResponseContextManager` which wrap the context manager
  returned by `aiohttp_client_session.post(...)` or
  `....ws_connect(...)`. They wrap the `__aenter__` and `__aexit__` calls and
  also wrap the value returned by `__aenter__`.

* fix typo
hail-is/hail,hail-is/hail,hail-is/hail,hail-is/hail,hail-is/hail,hail-is/hail,hail-is/hail,hail-is/hail