Per Cache Based Max-Size Implementation

Contains:

* max-size policy implementation on core package
* update on spring module for max-size policy implementation
I think you should move these to their own class files.