Add client user data, which is unique for each client connection (but not for each request) Similar to PR #690
Adds ability to handle upstream proxy connect failures
Adds ability to handle upstream proxy connect failures by using a new upstream proxy.