Find the server name. The server name is for use in constructing URLs to other services
on the same or a configured host. It is intended to support SchemeHandler implementations,
but may have other uses. This method checks five (5) different places in order; the
first one that produces a server name is returned.
1. system property constructed with the name of the specified class + .serverName
2. system property constructed with the name of the package of the specified class + .serverName
3. system property constructed with the name of the package of the NetUtil class + .serverName
(e.g. ca.nrc.cadc.net.serverName)
4. the canonical FQHN from InetAddress.getInetAddress().getCanonicalHostname()
5. localhost
Thus, one can override the default (canonical host name in a properly configured network) with a global
(#3), package-specific (#2), or class specific (#1) setting as necessary.