Added HTTPS support via a new HTTPS Port configuration option

Similar to the HTTP Port, defaults to disabled.
It might make tests easier if this test was for `>= 0`. That way we can just bind to port 0 for tests to get a vacant port.