Fix host header port

The DefaultClientConnector wasn't adding the right Host header value. It was only adding the hostname and not the port. This pull request fixes it so that the DefaultClientConnector sets the host header correctly. It adds the CreateHostHeaderValue method so that other code in the future can set the host header easily. It adds extensive tests for both. It also adds a few utility methods that can be useful for testing.