Enforce Msf::Simple::Framework.simplify option keys

MSP-9228
Fix Msf::Simple::Framework.create

MSP-9228
Remove 'ConfigDirectory' from Msf::Simple::Framework.simplify

MSP-9228

Replaced by framework.pathnames.root
Restrict Msf::Simple::Framework.create options

MSP-9228
Remove Msf::Config.init

MSP-9228

Replace with `framework.pathnames.make` so that directory is framework
instance-specific.
Replace Msf::Logging.init with Msf::Logging.setup

MSP-9228

Msf::Logging.setup takes a :logs_pathname that can be framework-specific
by passing framework.pathnames.logs.  Interface from other framework
instances is prevented by having Msf::Logging.setup! raising an
exception if its called twice without an Msf::Logging.teardown call.
This API is temporary.  It will be removed once the log methods become
non-global.
Switch Msf::Simple::Framework#load_config and #save_config to framework.pathnames.file

MSP-9228

Stop specs from failing when #load_config loads config saved from
msfconsole by ensure that #load_config and #save_config use
framework.pathnames.file, which is framework-specific and under spec/tmp
for tests.