Turn shared prefixes into directories

[#46491831]

Change the shared msf_modules_* prefixes in spec/support/shared/* into
directories.
Fix Undocumentable method, missing name YARD warning

[#46491831]

Comments at the start of the file with ## caused YARD to think the
comment was documenting the require call.  By removing the ##, the
warning disappeared.  I did not determine what is special about ## in
file comments.
Fix Undocumentable method defined on object instance YARD warnings

[#46491831]

Change code to use format that YARD can document without changing
semantics.
Fix Cannot resolve link YARD warnings

[#46491831]
Fix yard tag warnings

[#46491831]
Msf::DBManager#import_msf_xml refactor

[#46491831]

Move Msf::DBManager#import_msf_xml into
Msf::DBManager::ImportMsfXml#import_msf_xml and include
Msf::DBManager::ImportMsfXml to cut down size of the infamous db.rb.
Break up #import_msf_xml to have separate methods for parsing web_forms,
web_pages, and web_vulns.  The method for
web_vulns, #import_msf_web_vuln_element is needed so that it can be overridden in
Pro to handle the Pro-only changes to Mdm::WebVuln.
Fix 'Output is not a module'

[#46491831]

I missed that Rex::Ui::Text::Output was a class and not a module, so
starting up prosvc fell over when it loaded
rex/ui/text/output/buffer/stdout, which also would screw up
msf/ui/console/command_dispatcher/core.rb where I original added
Rex::Ui::Text::Output::Buffer::Stdout.
Fix typo in spec let

[#46491831]

The root element was web_page in the source for example that tests that
import_msf_web_vuln_element creates an Mdm::WebVuln.  The root element
name did not actually matter for the example, but it looked like an
error and was confusing to read the setup that root element was web_page
instead of the correct web_vuln.
Merge branch 'master' into feature/patchable-web-vuln-import
Merge limhoff's import shuffle and YARD fixes

Cuts an importer out of db.rb, includes a ton of specs to ensure that
nothing is broke along the way.

[Closes #1693]