Fix some bugs in preparation for factorizing

* Stop removing \x0a characters with String#scan, which of course breaks
  the shellcode
* Fork so the original session continues to work
Use a proper main signature with arguments

Allows us to `unlink(argv[0])`
Add some entropy

* Random filename
* Stop shipping debug strings to the exploit executable

Also makes the writable path configurable, so we don't always have to
use /tmp in case it is mounted noexec, etc.
Factorize sock_sendpage
Add support for OSVDB 86824
Support Windows CMD generic payload
Avoid extra slash in redirect URI

[SeeRM #8507]
Add real device libraries base addresses
Update ranking
Just a minor mistype

Just a minor mistype in code leading to a page that didn't exist.
Add module for ZDI-13-238
Add module template
Add BID reference
Update version information
Add support for HP imc /BIMS 5.1
Make module work, and final cleanup
Retry shell without thread impersonation

In certain scenarios on Windows XP there are times when creating a
shell fails with the error `ERROR_PRIVILEGE_NOT_HELD`. When this
happens the user will usuall fallback to a non-impersonated shell
via the command: `execute -f cmd.exe -H -i -c`

This patch catches the error, warns the use of the failure and then retries
to create the interactive shell without the `-t` flag.
Land #2538 - Fix redirect URLs
Check timeout condition
Land #2550 - Add HP Intelligent Managemetn UploadServlet dir traversal