PLAT-783: HttpClient and HttpClientImpl no longer an AsyncEventSource

This change makes HttpClient HttpClientImpl independent from the underlying
event loop. HttpClientV1 has been adapted to use an internalized MessageLoop
derivative, named "SingletonLoop". The latter has the particularity of not
owning the pointer to its sources, which enables said sources to registered
and unregistered themselves within their implementation code.

This change modifies the interface to HttpClient in less than trivial way:
- a new "enableDebug" method has been added to HttpClientImpl, replacing
  AsyncEventSource::debug
- MessageLoop can no longer register HttpClient instances
Can't the source be const here ?