Move evaluation cache into it's own class.

Add documentation to make the behavior clearer.
Get rid of old TILE_SIZE test helper code.