Use tx diff to reclaim unused records.

This is a suggestion for a different way of making sure that dynamic records for labels get reclaimed.

Instead of recording dynamic records for labels as deleted in the
transaction log, use the fact that we store both the state before the
transaction and the state after, to only require storing the used ones.
The set of unused records can be computed as the difference between the
set of records used before and the set of records used after.

In effect reverts (most of) 069edcfe7dcbb07f43599c91ec76c154f49b1934, and has the same effect without changing the log format, and thus with less overhead.

If this is an approach we like, we can take the same approach in other places, such as the property records.