Revert "Revert "Track last allocations to ensure forward-progress""

This reverts commit fb27c84bbf00154d4a246099feec32d47517c668.

Change I40f432b00e619e38135d34ae15c98f12df52424b avoids a
mis-calculation of current nodes that can cause too many nodes to be
created.  This adversley affects this change because it is making more
smaller allocations (see full description in other change).  These get
inflated and we start over-allocating nodes.

Change-Id: Ibdb357864bdc6f972530cbb22d12dcd97222b626