UNDERTOW-297 Set the X-Forwarded-For header when proxying

Update connection logic to append to the X-Forwarded-For header if it is present. Otherwise, just add the header.
The end result will be exactly the same as far as I can see, and the ', {new-ip}' approach will be faster. Also if it is invalid (which you are not actually checking for), its hard to know what the correct action to take would be. 

We also need to make this behaviour optional and disabled by default. The main use of this header is to allow things like servlet to get the real remote IP of a client when they are behind a load balancer, and if you allow the client to supply whatever address they want it basically allows them to fake it.