Python b64 encoder

Currently all the ARCH_PYTHON payloads are base64 encoding themselves. Ideally we implement an encoder that handles this kind of thing. 

Poke @zeroSteiner The bind_tcp and reverse_tcp stagers currently do some advanced stuff that I'm not sure is required or not?

You can execute \t statements in an exec statement e.g. `exec("if True:\n\tprint 1")` the \t is probably only a badchar for the commandline?

## Verification
- [ ] python/meterpreter/reverse_tcp and bind_tcp still work
- [ ] python/shell_reverse_tcp and shell_reverse_tcp_ssl still work
- [ ] Check for modules with ARCH_PYTHON and sort out badchars...
For this to be compatible with Python3, the ```.decode``` method is provided by bytes objects and not str objects. The pymeterp stagers get around this with the stub ```{2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]](```. To check the major version and convert to bytes if necessary.