nixos: Add gitlab and gitlab-shell

I had to make several adjustments to make it work with nixos:

* Replace relative config file lookups with ENV variable.
* Modify gitlab-shell to not clear then environment when running
  pre-receive.
* Modify gitlab-shell to write some environment variables into
  the .authorized_keys file to make sure gitlab-shell reads the
  correct config file.
* Log unicorn output to syslog.
  I tried various ways of adding a syslog package but the bundler would
  not pick them up. Please fix in a better way if possible.
* Gitlab-runner program wrapper.
  This is useful to run e.g. backups etc. with the correct
  environment set up.
nixos/gitlab: fixes

- fix timezone data not found
- fix module, add simple test
- allow to set port
Merge pull request #5314 from offlinehacker/teh-gitlab-release-14.12

[14.12] nixos: Add gitlab and gitlab-shell