Created a new page cache implementation

The new implementation is a simple cache with an LRU policy for
evictions. On eviction, listeners are notified before eviction and have
the option to cancel. The page stores have been updated to use this
event notification to persist page changes to the disk if necessary.