Add default config properties for cache engines

Also convert the defaults to be a static property. The defaults apply to
the class, rather than an instance.
convert behavior default config to a static property

reference #2326
rename settings references to config
Remove Cache::settings

It doesn't appear to be necessary and is confusing to have both:

    Cache::config
    Cache::settings

with different purposes.

Replaced the greedy retrival of instance config (static::settings) with
calls to `$engine->config()` before use.
populate defaultConfig in all cache adapters

Remove the duplicate document block from `Cache` as it will most likely
get out of sync with Core cache engine config (it is already out of
sync, missing keys).

Sort all the keys in defaultConfig so that it's easier to fine keys/see
differences.

Remove defaults from the docblock for the defaultConfig property - it
will only duplicate the actual property value and most likely get out of
sync.
defaultConfig is nolonger static
correct doc block
remove confusing method Cache::settings

Having both Cache::config (from the StaticConfigTrait) and
Cache::settings is pretty confusing, however it's also not necessary

instead of

	Cache::settings('foo')

the following can be used:

	Cache::engine('foo')->config();

Renamed all the `$settings` variables in cache tests to `$config` too
_config is not public
Correct home.ctp to use Cache::engine
Correct line number for extract task
make ExtractTaskTest more robust

Asserting line numbers means that when the source changes the line
numbers need to change in the test cases. This is quite fragile causing
unrelated changes to cause this test case to fail. Converted to _not_
expect specific line numbers.
reword doc bloc for default config
Merge pull request #2352 from AD7six/3.0-config-defaults

Extract cache engine defaults to a defaultConfig property