WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

Replace the ArrayList with ConcurrentLinkedDeque.
Remove the synchronization on it
WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

Introduce PerSessionPageStore.
Extract the common logic between DefaultPageStore and PerSessionPageStore into AbstractPageStore.
Extract interface for SecondLevelPageCache implementations
WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

Extract AbstractCachingPageStore - an AbstractPageStore that uses SecondLevelPageCache to manage the caching
WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

Clean up and javadoc
WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

Add tests and fix bugs in the new PerSessionPageStore impl
Fix the name of the JavaSerializer
WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

Move the logic for updating PageValue's access time in its own #touch() method
WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

Use ConcurrentHashMap for the sessions. There is no need to track their age so no need to use ConcurrentSkipListMap.
Merge branch '5527-inefficient-DefaultDataStore'
Upgrade YUI compressor plugin

(cherry picked from commit 98825c8875e19de6a8657fbf097f115e40b66168)