STORE ... (UNCHANGEDSINCE n) worked out which requested messages no longer
exist by expanding every number in the client's sequence set into a hash
set, so a single "UID STORE 1:4294967295 (UNCHANGEDSINCE 1)" from any
logged-in user asked the server for billions of entries while it held the
mailbox state lock.
The missing set is now computed as ranges. Numbers up to the mailbox's
highest UID (or message count) are checked one by one; everything above
it is missing by definition and is emitted as a single range without
being walked. MODIFIED carries ranges and is serialized as a sequence set,
so its output is unchanged. Sequence::expand had no other caller and is
removed.
Tests: a range test that failed on main (expand(10) of 1:5000000 returned
5,000,000 entries) now passes against the new code, plus a reference
comparison of the range result against per-number expansion.