If namespace is not provided, default to any namespace
Keep track of null adapters

The Null adapters must be tracked in order to later substitute them for
normal adapters.
Syntax check Null adapter in tests
Use plain Test::More instead of Test:BBD::Cucumber

Test::BDD::Cucumber does not provide much benefit, and it has a large
dependency (Moose). Since Cache::Any is meant to be a very light module,
Test::BDD::Cucumber should not be used.

Remove the dependency on Test::BDD::Cucumber and replace features with
plain Test::More tests.
Use Proxy class to allow substitution of adapters

In order to be able to dynamically replace adapters being referenced by
calling modules, add a Proxy class. This class is a simple proxy for
Cache::Any adapters. It holds a reference to the adapter object, which
can be replaced at a later time. The calling module always retains
a reference to the same Proxy object.
Add tests for importing Cache::Any