search: copy all user_flags, not just a byte's worth of words

Rather than trying to be clever, use exactly the same codepath
as every other bit of code which handles user flags
twoskip: use fallocate to pre-allocate space for repack (v2)

Need to lock before fallocating the extra space
sync_support: remove dead rename_cid definition
export hashu64_enumberate
conversations: renames and < records when adding

This happens when running ctl_conversationsdb -R or when copying
messages from one user (conversation root, literally) to another.
We need to look up the 'best' CID in the new namespace, because it
may thread with existing messages, and we need to re-add the <
records because they might be bogus or just not in this new
database.

Safety on replicas is achieved by checking record.silent instead
of record.cid.  This is the same flag that stops the modseq being
bumped.

Rename safety (to avoid counts going wrong when the CID was renamed
during the update) has been achieved by caching all CID renames
until commit time for the entire conversations DB, so the whole
transactional change happens at once, after the original counts are
done.
ctl_conversationsdb: audit without renaming CIDs