Build a bounded buffer pool

The room every page passes through, with a pin count and a usage dial on each desk. This lesson builds that room in about two hundred lines of Go and breaks it on purpose.
Before you start. The Buffer Pool explained the room: frames, pinned and dirty pages, the clock sweep, and the small ring a big scan gets. Pages built a pager whose cache is a map that only grows, and said so. This lesson replaces that map with a pool of fixed size. You need to read Go, nothing more; the code is in teaching/code/database-internals/01-bufferpool.