Utility class used to redirect an HTTP(s) request to another protocol and
endpoint. The following scenarios are supported:
(1) http://host:port1 to https://host:port1
(2) https://host:port1 to http://host:port1
(3) http://host:port2 to https://host:port1
(4) https://host:port2 to https://host:port1
(5) http://host:port2 to http://host:port1
(6) https://host:port2 to http://host:port1
This class internally start an NIO Selector listening on an 'external' port
to a 'redirect' port. All requests to the external port,
independently of the protocol are redirected to the 'redirect' port.