NoOneIsIrreplaceable - creating a basic http communication layer that ca...

...n be replaced in tests or by end users.
Should this be m_user_agent_string = user_agent_string?