Add basic HTTP client functionality

This pull request adds basic HTTP client functionality on top of which we can start to sketch the HTTP OONI tests. It has been lightly tested, using a minimal unit test.

Things that *are not* included in this puill request:

1) functionality to divert DNS requests so that they could be logged;

2) convenience methods to directly call GET, HEAD and other HTTP methods;

3) errors implemented as exceptions (currently they are classes containing integers);

4) robust routing of exceptions;

5) testing against misbehaving HTTP servers;

6) support for HTTPS.