This diff makes the implementation of the engine package more
abstract by changing HTTPClient() to return a model.HTTPClient
as opposed to returning an *http.Client.
Part of https://github.com/ooni/probe/issues/2184
Shared data structures and interfaces. We include in this
package the most fundamental types. Use go doc to get
more thorough documentation about what is inside this package
and when to put a type inside this package.