machine-id-setup: Factorize some machine-id-setup functions to be reused
update TODO
machine-id-setup: casting const away is ugly, let's not do it if there's no reason to
machine-id-setup: add a machine_id_commit call to commit on disk a transient machine-id

If /etc was read only at boot time with an empty /etc/machine-id, the latter
will be mounted as a tmpfs and get reset at each boot. If the system becomes rw
later, this functionality enables to commit in a race-free manner the
transient machine-id to disk.
machine-id-commit: Introduce machine-id-commit binary

This binary enables to commit transient machine-id on disk if it becomes
writable.
machine-id-commit: add unit file

The unit file only active the machine-id-commit helper if /etc is mounted
writable and /etc/machine-id is an independant mount point (should be a tmpfs).
machine-id-commit: add man pages

Add man pages for systemd-machine-id-commit.service and
systemd-machine-id-commit.