Support for a custom gitlab-shell script in config

Overwrite script gitlab-shell script location in config.yml.
Possible uses:
- Setup a custom Ruby Environment and wrap gitlab shell script
- Add some additional checks

I'm aware of issue https://github.com/gitlabhq/gitlab-shell/issues/12 . But the suggested solution namely setting 

    PermitUserEnvironment yes

in the SSH config will introduce additional problems which we don't want:
- We increase the risk for an incursion. 
- It makes the management of a machine running gitlab a nightmare. Since the sshd config needs to be managed somehow. 

Hence I suggest the following solution which allows overwriting the gitlab-shell binary with a custom script defined in the gitlab-shell config:
- The config can be deployed with puppet.
- The binary can contain whichever ruby version settings want.
- The default config will still use the default script.
- The solution is gitlab-shell version agnostic: Update gitlab-shell, keep the edited script.

An alternative would be to just overwrite gitlab-shell script and edit with every update. Which makes upgrading a pain.