Revert "Fix #28: BufferCache::compact too expensive"

This reverts commit 48e513f747b4c24d176a6f01d8ea5e806e9e4fca.
Fix #28: BufferCache::compact too expensive by using list instead of vector