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
Merge remote-tracking branch 'upstream/master'