Request to support the updated backdoor factory

I've rewritten the backdoorFactory to be more class like so that other python programs could import and issue commands as needed directly vs. using a subprocess command which in my IMHO is messy.  Since BDF patches linux binaries I've had to make a couple changes in controller.py to support binaries without an extension.  You all will need to add tab completion from msfvenom for linux payloads, example: linux/x86/execv, as BDF supports custom linux payloads too.  
Also, I moved the default psinfo.exe to testbins/ at Veil-Evasion root, easier on the eyes I suppose.

[edit] I think it would be a good idea to allow the user to pick their own caves on the PE side (The ELF code has no code cave jumping as most ELF bin lack code caves that are in executable segements) is that not all caves work for whatever reasons.  I'm trying to figure that out, but haven't found a predictable way to do so. Yet.  If we give the user that option vs. randomly picking the cave for them, it allows them to learn which caves work with the binaries they have chosen to use with BDF. Also it helps them understand what is going on during the patching of the binary. [edit]

For future updates to BDF all you will need to do is git clone BDF into tools/backdoor/

Let me know if you have any questions.

Thanks,
Josh Pitts