Per Cache Based Max-Size Implementation

Contains:

* max-size policy implementation on core package
* update on spring module for max-size policy implementation
Seems to me using `ordinal` increasing code fragility. Think of two different but compatible hazelcast versions, but only order of enums changed.