2b70ec2e08
[#47720609] Msf::PayloadSet#add_module does NOT return an annotated module class as Msf::ModuleSet#add_module does because a payload module is defined as a ruby Module instead of a ruby Class. Since add_module doesn't always return an annotated_class, the logic in Msf::ModuleManager#on_module_load needed to change to NOT use annotated_class and create #add_module as return [void]. Thus, it is necessary to pass in all the metasploit module metadata to Msf::ModuleManager#cache_in_memory instead of assuming they can be derived from the (payload) Module or (other) Class.