util: template: minimal,none; txt2html: --no-autop;

template:
	'-t none' renamed to '-t minimal';
	'-t none' now really doesn't use any template except the content,

txt2html:
	add --no-autop (no automatic <p>)
cloudnet: assume DMZ IP (step 1)

This code executes after each cluster 'round', at current 1 minute,
and checks whether a certain IP is present in the cluster nodes.
When the IP is not found, the NIC and local node address are updated with it.

TODO: update the cluster node list entry aswell
cloudnet: keep track of local node index
cloudnet: remove copies of ip address
printf: fix %[number]s
cloudnet: uphold DMZ IP service

The DMZ IP is configured in 2 places:
- nic.s (nic_zeroconf)
- cloudnet.s (DMZ_IP)

cloudnet will attempt (gratuitious ARP) to use the IP the nic is configured
with, which is the zeroconf IP, and fallback to DHCP.

Every minute, after having gathered node pings, it will check whether
the DMZ IP cluster node is up. It will then obtain the DMZ IP
using gratuitious ARP.
(note: this attempt will also be made when the IP is taken but does
not belong to a cluster node).

See the TODO in DOC in this commit.

Also TODO: configure the DMZ IP in the VMX file and in DNS.
.cloud is in the process of becoming a TLD (or has already)
so the bootstrap domain will be used with a virtual view on
DNS - i.e., within a LAN, a lookup for 'dmz.cloud.neonics.com'
would resolve the IP to use, whereas it is invisible from the
public IP space.