Allow service user and group to differ and only create group if needed.

Fixes #17 and fixes #18.
Also no longer assumes user name = group name.
Merge branch 'master' into ISSUE_13
Write configuration file into a temporary directory before moving it into place #13