Added HTTPS support via a new HTTPS Port configuration option

Similar to the HTTP Port, defaults to disabled.
I left this logic the way it was for just the HTTP case before. Also, using 0 will mean that the underlying OS will use the next available dynamic port which is not what we want since HTTP/HTTPS need to be on known ports for clients to communicate with them.