Replace multiple isexpected.to containfile() for the same file with a single
isexpected.to containfile() with instead multiple .withcontent() or .withoutcontent()
for improved readability and preformance.
This is a patch-serie with some added type constraints. I have also fixed the doc-strings where i found that they didn't match the code. And this time REFERENCE.md is not manyally edited, but regenerated for each change.
The attempt to simplify the template by letting flatten() take care of the different
allowed data-types for servers,peers, and pools, was unfortunately a bit too
optimistic. The result was that join(' ') on a Array with empty element created a extra
space caracter when $chrony::servers was a hash with a key but no value.