Revert "Revert "Merge branch 'migrator' of git://github.com/scriptjunkie/metasploit-framework into scriptjunkie-migrator""

This reverts commit 2436ac3a583bdb82944799698a10b6678890bd37.
Re-use block_api code in migrate stub if possible

Makes payload significantly smaller.
Fix error calculating payload sizes.

Error meant most Windows payloads were marked as incompatible with many exploits.
Add X64 PrependMigrate support
tidy EOL spaces
Fix issue with singles.

Single now plays more nicely with other mixins, so PrependMigrate works.
Ensure Windows single payloads use payload backend

This means the singles that define their own assembly will use the payload backend to generate it.
Ensure shell still works if PrependMigrateProc fails to launch.

Don't rely on GetStartupInfoA return value.
Move PrependMigrate to a mixin
Ensure prepend_migrate? always functions correctly.
Make asm spacing easier to read

Also adds a #prepends callback to Payload::Windows to make it a little
clearer what's happening.
Unstupid the prepends callback

Windows#prepends was overriding PrependMigrate#prepends
Move prependmigrate.rb for naming consistency
Make #prepends() actually work
Merge pull request #3 from jlee-r7/scriptjunkie-migrator

Proposed changes for PrependMigrate
Update the deprecation note, add to msfconsole

This will cause msfconsole to throw a warning as well as msfupdate.

The deadline for action is also set at the end of February.
Use EXITFUNC if present to save space and be more correct.

Jump straight to payload on process failure to save space.
Lack of action moved the deadline to Mar15

Because this change was delayed in getting
reviewed and landed, moved the SVN deadline
out two weeks.
Be more clear on protocol types
Merge branch 'master' of github.com:rapid7/metasploit-framework into rapid7