Refactored Infinispan cache wrapper hierarchy

* All wrappers should from now on keep linear hierarchy according to Infinispan versions (one wrapper per plugin)
* Each feature should be implemented by separate object - wrapper and feature can be enriched separately
* Code from the core wrapper moved to Lifecycle and BasicOperations (these are not features) - wrapper should only hold the caches and orchestrate features
* InfinispanWrapper now can work as multi-cache wrapper as well (see StressTest.useBuckets)