Replaced the concept of CacheWrapper with Service and Traits
* The Service is singleton object (only once on each slave at every moment) which provides traits, using the @ProvideTrait annotation
* Traits implement some functionality, not specific to cache
* Stages can use @InjectTrait to get the instance of trait provided by the service, or call slaveState.getTrait(MyTrait.class)
* Cache traits are using methods from JSR-107 Cache spec
Statistics & Reporting
* all stats now account either to:
** tests - these provide operations statistics, can include more iterations
** timeline - information about events / property values during whole benchmark execution
* operations are generic: any call to trait's method may be an operation
* reporting moved to separate modules
** providing default reporter module with CSV and HTML reporters
* displaying histograms is TODO
* operations for MapReduce and DistExec are TODO
(+ minor fixes in other parts)
Updated scripts and default configurations
* fixing issues with running bin/dist.sh | bin/local.sh
Lifecycle related changes
* renamed the stages (StartCluster -> ServiceStart, *Kill* -> *Stop*) and updates properties according to that
* renamed (Start|Stop)* -> *(Start|Stop)
* added lifecycle listeners, registered on SlaveState