If getDefaultServerData() is hit after a webapp starts but before anyone has actually accessed the webapp (e.g. a task scheduled via fulcrum-quartz uses TurbineURI) ServerData will not have been initialized and you end up with URIs like "http://". This change allows you to specify default values for ServerData.
added a conditional, to prevent the wrong setting of the port, which is not checked by TemplateURI. In my Eyes this is seems like a possible bug within TemplateURI, which checks, whete use.ssl is true, but blindly sets the port no matter what.