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

...n be replaced in tests or by end users.
Should method and user_agent_string be passed as const reference?