tweaking how we retrieve modules, to better encapsulate the logic and allow us to support different types of module
add an example shellcode module, which generates a reverse tcp shell
adding a common library that gives us some functions for building shell code, as well as formatting it in different ways
adding a shellcode command to the drozer commandline, that will allow us to generate shellcodes
adding the glue that shows us available shellcode modules, and executes them to dump shellcode to the screen
read the server declaration from the --server command when generating shellcode, rather than using the default values for the emulator
allow the remote server to be properly specified when uploading a file to the server
add a first implementation of a shell server that can collect and route simple reverse shells
updating the example reverse shell shellcode to a commented version, that sends a W to the server to download weasel