Use DNS server on master to resolve hostnames

By running a simple DNS server on the master node, and by adding a new
"prepend domain-name-servers" entry to /etc/dhcp/dhclient.conf on all
nodes, we can bypass the O((N^2)/2) operation required to update all
the /etc/hosts on all nodes when adding or removing nodes. Instead,
only the /etc/hosts file on master must be updated.

NB: The /etc/hosts file must still contain the entry for the node
itself, as SGE's /opt/sge6/utilbin/linux-x64/gethostname requires this.

NB #2: Typically, one can specify a "nameserver" entry in /etc/resolv.conf,
but because this file is frequently overwritten on AWS (when DHCP
updates, for example), DNS nameserver settings need to be registered
in the dhclient.conf file instead.

Note that this is a squashed commit!
Merge remote-tracking branch 'nkrumm/use_dns_clean' into use_dns_clean
dns adaptations
Merge branch 'vanilla_improvements' into use_dns_clean
Missing file
Merge remote-tracking branch 'origin/use_dns_clean' into datacratic_dev
plugin to add submit hosts