This introduces a get_http_factory() function which will try to load
a HTTP client library according to the following logic:
1. If the MATRIX_API_HTTP_CLIENT environment variable is defined, it is
taken as the name of a HTTP client library.
2. Otherwise, if the function paramter is non-nil it is used as the name
of the HTTP client library to load.
3. Otherwise, the available HTTP client libraries are tried in order,
and the first one which can be require()'d successfully will be
used. For now this has only the "chttp" client.