fat: pin and unpin blocks in the FAT file block cache
utilities: changed Cache::compact algorithm, fixed up some horribly broken lock usage. Compacting caches now works nicely.
vfs: handle cache eviction in our cache callback
vfs: unpin shared pages in MemoryMappedFile::unload
utilities: fix a particularly exciting typo in Cache::evict
utilities: try and avoid using the heap in Cache::compact