Fix sequence cache usage

Again. The issue this time was that a cache range from a committed transaction could be used by an uncommitted transaction and, given the right scenario, overlapping values produced.

Add the commit timestamp, which was already available, to the cache and only use it from an in-progress transaction if appropriate.

The test tweak (run connection per "step" instead of every) allowed this scenario to be hit more regularly