Spec Msf::ModuleManager#on_module_load

[#47720609]
Reuse appropriate terminology in docs

[#47720609]

Fix some docs and variable names to make it clearer when methods are
expecting module instance and module classes.  Change some 'name'
variables to 'reference_name' since that's the proper terminology.
Update in-memory cache to fix file_changed?

[#47720609]

Msf::ModuleManager#module_info_by_path was not being updated when a
module was loaded, so if a load_module was called again, say during
start up of prosvc, the module would reload even though there was no
change in the file because file_changed? couldn't find an entry for the
module's path in module_info_by_path.
Payload compatible cache_in_memory

[#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.
Merge branch 'master' into bug/module-load-cache-update
Merge branch 'master' into bug/module-load-cache-update
Spec Msf::Simple::Framework#init_module_paths

[#47720609]
Merge branch 'master' into bug/module-load-cache-update
Specs to ensure File.mtime error is caught.

[#47720609]
Rescue Errno::ENONENT when using File.mtime for memory cache

[#47720609]
Merge pull request #1865 from limhoff-r7/bug/module-load-cache-update

 Update in-memory cache to fix file_changed? bug.