Add RDI mixin module

MSF was starting to see more modules using RDI to load binaries into
remote processes, so it made sense to create a mixin which contained
the functionality that was being used in various locations.

This commit contains the new mixin, and adjustments to all the existing
exploits and modules which use RDI.
Update name of the mixin

Changed `RdiMixin` to `ReflectiveDLLInjection`.
Missed a single module in rename
Renamed the mixin module
Update to yardoc conventions
Shuffle RDI stuff into more appropriate structure

Now broken into two modules, one for loading RDI DLLs off disk and
finding the loader function offset, and another for doing the process
specific stuff of loading into the target.
Add exception if DLL isn't RDI enabled
Remove exception stuff from the payloads
Remove the last redundant error check
Adjusted style as per egypt's points
Allow self-destruct via "kill -s"

HTTP(s) payloads don't exit cleanly at the moment. This is an issue that's
being addressed through other work. However, there's a need to be able to
terminate the current HTTP(s) session forcably.

This commit add a -s option to kill, which (when specified) will kill
the current session.
Fix a typo in mswin_tiff_overflow
Land #2729 - Allow manual self-destruct via "kill -s"
Land #2721 Reflective DLL Mixin

Adds support to load a dll and identify the ReflectiveLoader offset.
Adds support to inject dll into process and execute it.

Updates kitrap0d, ppr_flatten_rec, reflective_dll_inject modules and
payload modules to use above features.
Land #2730 Typo in mswin_tiff_overflow