Collapse cleaning updates into normal updates.

The collapse removes some extra round trips to the server that are only for cleaning.

This also fixes a bug that could have created an infinite loop.
The test called readLockClearStuckWritePending shows it.
After a call to readLock(), if a writeLock() call had happened
(setting writePending) and died then the next readLock() call would wait forever.