Updating cache adapters to use base class.

- Remove inherited methods where possible.

Any custom adapters implemented in userland should
be changed to inherit from the new base class as a form
of good practice. However current implementations will
continue to work, thus this doesn't break BC.
Updating cache namespace docblocks.

- Roughly equal structure for all cache adapter docblocks
  to make them easily comparable.

- Documenting atomicity not in general (just hint) but
  on each adapter as this differs from adapter to adapter.

- Adding documentation what adapters should/can/must
  in adapter base class.

- Adding links using tags.

- Removing 'method non-filterable' from cache docblocks.

- Updating enabled mehtod docblocks, equalizing.

- Adding ref to base adapter.
Implementing cache key scoping.

This allows to provide a `scope` on a per adapter
configuration basis. Namespacing/scoping of the keys
is then handled by the adapters transparently.

When multiple apps access the same cache store, scoping
can be used to prevent accidental overwriting of keys.

- Removing unused cache prefix option.
- Adding scoping docs to cache class.
- Adding helper methods to base adapter.
- Adding tests.