Cleaned up gitlab_shell_spec

* Used mocks to test if methods are colled
* Increased coverage
* Removed duplication and excess verbage
Use Kernel::exec instead of system()

We don't need to keep the ruby process around once we've
established that it's ok to run a git command.
Verify GL_ID environment variable is set.

This also randomizes the key_id used in the tests.
Randomize config.repos_path in tests
Do not fall on discover deployment keys. Closes #25
return non-zero status if gitlab-projects or gitlab-keys cmd was not successful
Merge pull request #26 from regru/do_not_fall_on_deploy_keys

Do not fall on discover deployment keys. Closes #25
Merge pull request #16 from docwhat/exec

Improve gitlab_shell spec and replace `system()` with `exec()`