Proxy Support, fixes #102

I did some updates according to the discussions in #102.

- added ```ConnectionType``` to ```HostConnectorSetup``` with the following options:
 - ```Direct```
 - ```AutoProxied``` (default)
 - ```Proxied(proxyHost: String, proxyPort: Int)```
- added ```Map[String, ProxySettings]```to ```ClientConnectionSettings``` (proxy settings per scheme)
- ```HttpManager``` now calls ```connectorFor()``` which then delegates to ```hostConnectorFor()``` or ```proxiedConnectorFor()``` in case a proxy should be used. ```proxiedConnectorFor()``` returns a ```ProxiedHostConnector``` which fixes URIs and host headers and delegates to ```HttpHostConnector``` which connects to the proxy and is shared between ```ProxiedHostConnector```s to the same proxy.
- added ```Uri.normalizedForHttp()``` and ```Uri.httpScheme()``` to DRY up the default scheme/port logic
- changed the param order in ```Uri.toEffectiveHttpRequestUri()```
- added ```defaultHeaders``` to ```HostConnectorSetup``` that could be used with ```Proxy-Authorization```