Add gitlab-shell command injection module

This request adds a module for gitlab-shell command
injection for versions prior to 1.7.4. This has been
tested by installing version 7.1.1 on Ubuntu and then
using information at http://intelligentexploit.com/view-details.html?id=17746
to modify the version of gitlab-shell to a vulnerable one. This
was done as I could not find a better method for downloading
and deploying an older, vulnerable version of Gitlab.
Fix URI building and failure cases

This update uses the normalize_uri method for building
URIs. Additionally, failure cases have been modified
for a less generic version.
Modifications for login and key addition

This commit adds additional support for logging in
on multiple versions of Gitlab as well as adding a
key to exploit the vulnerability.
Implement suggestions

This commit addresses feedback such as adding a check
function and changing the login fail case by being
more specific on what is checked for. The failing
ARCH_CMD payloads were addressed by adding BadChars.
Last, an ARCH_PYTHON target was added based on
@zerosteiner's feedback.
Do minor cleanup
Land #3621, @kaospunk's exploit for gitlab-shell CVE-2013-4490 command injection
Various merge resolutions from master <- staging

* --ask option ported to new location
* --version option now works
* MSF version updated
* All specs passing
Deprecation warnings hidden for non-listeners
Land #3654, update to 4.10-dev (electro)
Add module for CVE-2014-0983
Delete debug message
Refactor set_version
Remove rubocop and msftidy touchpoints

Rubocop replaces the default YAML library which makes development
testing difficult. It does not cause problems on Travis, but according
to reports, it does cause instability with many individual dev
environments.

While I would love to have a more solid source of this bug report, right
now this was an oral report from @shuckins-r7 (who I tend to believe a
lot).
Update Gemfile.lock as well for PR #3639
Local notes.
Explicit ruby version.
Dont share once device is opened
More .rubocop.yml exceptions

While we expect to remove Rubocop via PR rapid7#3639 , the Rubocop YAML
file is still useful for those developers that want to use Rubocop on
their own. Like me, for instance.
Be more forceful about Rubocop in CONTRIBUTING.md
Add module for CVE-2014-0983