Simplify scans through the global table of transaction IDs.

Stop caching multiple copies of the oldest transaction ID required to stay in
memory.  In the process, fix a race that could invalidate the calculation of
the oldest ID.
refs #552