Spaces and newlines are invalid in hostnames. However, the base config inadvertently creates an `/etc/hostname` with a newline after "redox".
This can cause programs to fail.
This ensures that the gid's for the auto-generated user groups stay in
sync with the gid in /etc/passwd. It also makes it easier to evolve the
format of /etc/group in the future.
Maybe some of the refactoring things I did don't make much sense, but I
did them. The goal was to get rid of those macros (because macro
definitions are really hard to read). I replaced two of them with very
similar functions, and rearranged the `install` function.
The installer now generates password hashes from the password entered by
the user or listed in the toml file. This value is NO LONGER the
password hash. The example configs have been changed to reflect this.