Replace socket.getfqdn with internal salt.utils.network.get_fqhostname

See https://github.com/saltstack/salt/issues/11275 and http://bugs.python.org/issue5004

This replaces calls to socket.getfqdn with an internal one that offers more reliable behavior.  This could also be made more robust and move some of the abstraction around localhost handling into it.

Needs docs updates, but I want to get some feedback first.