Fix hostnames and aliases

Before this commit host entries would be "<ip> <hostname> <my name>" for
all entries. If `config.vm.hostname` was nil (the default) then primary
name would be empty. Secondly, nodes adding their own hostname as an
alias to all host entries is just plain weird.

Now entries should be "<ip> <defined name> <hostname>". And will not be
blank because nodes can have either a defined name, a hostname, or both.