change internal "settings" key to "config"

All registries currently expect a "settings" key in normalized array
config - change that expectation to "config" to be inline with the
public api and internals of the rest of CakePHP
Convert CacheEngine to use InstanceConfigSuite
update console NS to expect "config" key
Use protected property when it's mandatory

rather than the config method which, in the case of a mandatory key, is
only adding the overhead of a function call.

Also change 'settings' => 'config' inline with ObjectRegistry changes
Convert log classes to use instanceConfig trait

Moved the config normalizing logic to the constructor
refer to $_config for mandatory keys

rather than the config function. if the config definitely exists, (if
not it should be added to $_defaultConfig) it's only overhead to call
the config function
convert email classes to use instance config trait

Minor code restructuring aound config variables
remove needless _defaultConfig merging

The config trait itself does that.

Also replace calls to config() with direct access to _config for
mandatory keys
not sure what this test is testing..

corrected as now config returns $this on write
testfile mis-represents what's expected
use the constructor for "extra" config logic

it's called in the constructor anwyay
convert iniacl to use the instanceConfigtrait
remove pseudo InstanceConfig defaults
remove unused property

The core doesn't expect to use a public config property - at best it
does nothing, at worst it suggests to users they should create it
convert the socket class to use the config trait
left over from method rename
change test class to simulate core's config usage

it doesn't have to - but it's probably a good idea not to leave
"settings" suggestions in the core
If servers are passed they shouod overwrite defaults

This is one of the rare cases where merging defaults isn't desirable
use a better assert

at least the default error message will be meaningful
more leftovers from renaming the config function