All workloads are working correctly

Performance is limited by load-to-use latency (pointer chasing).
Things that can be done:
* A smaller cache can be faster
* Directly mapped for ideal performance or 2-two for almost as good
* Store the tag in the pointer!  Quite feasible for a subset of tags
  but it doesn't help the nested closure case.




The README list:

0. Nothing yet, needs stalling support first

1. In progress

2. In progress, but trivial except for multi-cycle primitives (which
   may include multiplication)

3. Without 0, most targets would not have have enough block ram for a
   useful heap.

4. Depends on 0.
