Determine port based on scheme and allow arbitrary ports.
SSL support implemented

utilizes rust-ssl or rust-nss to optionally provide SSL services.