Virtual classes for HttpManager

Converted HttpManager's instantiations of `HttpClientSettingsGroup` and `HttpListener` to use the virtual class pattern, so it is easily overridable without having to duplicate the rest of the functionality in the class.