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
Require openssl

Fix the "uninitialized constant GitlabNet::OpenSSL (NameError)"
after upgrading to ruby 2.0
Merge pull request #24 from yuters/patch-1

Require openssl
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()`
Update CHANGELOG
Merge pull request #30 from regru/master

Update CHANGELOG
added travis to readme. added ruby 2.0.0 to travis