Fix up email header values that span multiple lines
Support install from directory that Critic system user can't access
Run git commands with a $PWD they can access

For some reason 'git config --global' fails if it can't access $PWD, even
though it in no way depends on its contents (AFAIK.)
Make sure background services run with correct $HOME

Start the service manager as root, and let it create the pid file
directory, set $HOME correctly, setuid()/setgid() and then detach.

This makes the init.d script simpler and also removes its dependency
on 'sudo'.  Depending on 'sudo' was unfortunate, since the
installation script doesn't check that it is installed, or use it,
and thus succeed even if 'sudo' was't installed.

Since some (more) Python code now runs as root, avoid creating *.pyc
files owned by root by explicitly compiling all installed Python
source files as the Critic system user/group.
Restrict access to key directories (on guest) when running tests
Create /var/lib/critic/temporary directory

Used for temporary work copy repositories.  Also create (any missing)
directories when upgrading.
Set $GIT_COMMITTER_{NAME,EMAIL} when running "git cherry-pick"

Not doing so causes the command to fail unless the Critic system user
has the appropriate settings in its ~/.gitconfig, which we do not make
sure it has when installing, and thus shouldn't rely upon.
Add simple test performing a non-fast-forward review rebase

Primarily testing that the "git cherry-pick" command used when replaying
a rebase doesn't depend on the Critic system user's ~/.gitconfig setting
user.name and user.email (which it doesn't in a default installation.)