Add Adaptable cache implementation

- New adaptable cache implementation, using closure, allowing the use of existing cache implementations Laravel, Doctrine, Lithium etc.
- Normalize cache implementations docs and coding style
- Remove duplicate code