updated the VirtualizedListSample application to use WeakCache instead of ListItemCache
removed no longer used ListItemCache.cs file
changed the dispose behavior of the WeakCache and added a try catch to prevent exceptions in Dispose
Improved the auto-purging algorithm to only purge a cache if it is supposed to be purged (i.e. enough time has passed)