cache garbage collector
Experimental code for cache GC.
I've set the defaults to values that seemed to work well (clear about ~10% of cache when 80% full, use 100 operations per transaction). Higher values for allowed cache usage didn't seem to properly prevent complete cache flush. High values of ops per transaction (or unlimited) caused issues as well.
Closes #257 (closed)