Create shell_to_meterpreter.rb
Update bourne.rb
Update bourne.rb
Update core.rb
Update shell_to_meterpreter.rb
Update shell_to_meterpreter.rb
Code cleanup

Fixes based on response from @timwr and @kernelsmith.
Retested with Ubuntu and Metasploitable 2 to validate proper payload. Also tested for port conflict detection after the change.  Returning false on line 243 simplifies the if logic on line 251/252.
Improve detection of failed uploads

leaving aborted = nil was causing unexpected behavior when the upload failed.  Explicitly setting aborted = false by default corrects this issue.
Hide unneeded options
Update core.rb
Update for most recent PowerShell.rb

This update makes the module compatible with Meatballs' march PowerShell changes mentioned earlier (lines 112/113).  It also includes changes recommended by Timwr and about 2/3 of the issues mentioned by Rubocop.  I didn't make some of the Rubocop changes based on HD's comments in IRC that it was still being tuned to meet the project's requirements.
Add first specs for Rex::Encoder::XDR
Add specs for .decode_varray
Finish XDR specs
Fix some descriptions
Avoid explicit use of subject
Move TcpServer into its own file
Whitespace
Move SMBServer into its own file
Add magic encoding to new files