Replace build in home folder with environment

You can't ever assume that user's home is /home/$USERNAME or /home/git

Preferable is to assume that user running gitlab-shell has repositories in his home (get from the environment).
Make GitlabProjects#create_hooks a class method
Make support/rewrite-hooks.sh use bin/create_hooks
 Merge branch 'create_hooks' into 'master'

Add bin/create-hooks command for backup restores

This solves the problem that `support/rewrite-hooks.sh` assumes that the gitlab-shell is installed in `/home/git/gitlab-shell`, which does not hold for omnibus-gitlab.
Merge branch 'master' of github.com:gitlabhq/gitlab-shell

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

Conflicts:
	support/rewrite-hooks.sh
Restrict env variables passed to git-xxx-pack
Use built-in Ruby Dir.pwd instead of the shell
Use IO.popen instead of Kernel#` to read refs
Use less shell commands in gitlab_projects_spec.rb
Use safer shell invocations in bin/install
 Merge branch 'shell_style' into 'master'

Shell Style
 Merge branch 'environment_variables' into 'master'

Restrict Environment Variables
Version 1.8.1

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Fix typo in Kernel::exec options
Version 1.8.2

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Explain why GitlabShell#exec_cmd has no tests
 Merge branch 'exec_warning' into 'master'

Explain why GitlabShell#exec_cmd has no tests
Add support for import repo timeout

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Changelog entry and new version

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Use Process spawn

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>