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.
adding template and src for elf 64 shared object payload target
added support to msfpayload to use elf so payload target
added suport to generate_payload_dll for x64 arch, linux platform
added ARCH_x64 case for Msf::Util::EXE.to_executable_fmt - failed CI #8173
amateur hour, forgot the X on ARCH_X64
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
Split generic_sh in echo, perl and ifs encoders
Delete not necessary end keywords
Modify encoders to allow back compatibility
Delete debug print_status
Allow some modules to use the old encoder
Second review of modules which shouldn't be affected by changes