Add load balancer support

Add load balancer support using non-standard X-Forwarded headers. 

Basically it adds support for AWS Elastic Load Balancer. See docs here [x-forwarded-headers](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#x-forwarded-headers) and a proposed standard [rfc7239](http://tools.ietf.org/html/rfc7239) which varies a bit since it does not seem to add support for the `X-Forwarded-Port` header.

I also confirm that this does work behind a ELB that does SSL termination.