Implement frame eviction.

Changed a lot of stuff. I'm too tired to write it all.I
Merge branch 'page_evict' into dev