Second bcachefs pull request for 6.7-rc1

Here's the second big bcachefs pull request. This brings your tree up to
date with my master branch, which is what existing bcachefs users are
currently running.

All but the last few patches have been in linux-next, those being small
fixes. Test results from my dashboard:
  https://evilpiepirate.org/~testdashboard/ci?commit=c7046ed0cf9bb33599aa7e72e7b67bba4be42d64

New features:
 - rebalance_work btree (and metadata version 1.3): the rebalance thread
   no longer has to scan to find extents that need processing - big
   scalability improvement.
 - sb_errors superblock section: this adds counters for each fsck error
   type, since filesystem creation, along with the date of the most
   recent error. It'll get us better bug reports (since users do not
   typically report errors that fsck was able to fix), and I might add
   telemetry for this in the future.

Fixes include:
 - multiple snapshot deletion fixes
 - members_v2 fixups
 - deleted_inodes btree fixes
 - copygc thread no longer spins when a device is full but has no
   fragmented buckets (i.e. rebalance needs to move data around instead)
 - a fix for a memory reclaim issue with the btree key cache: we're now
   careful not to hold the srcu read lock that blocks key cache reclaim
   for too long
 - an early allocator locking fix, from Brian
 - endianness fixes, from Brian
 - CONFIG_BCACHEFS_DEBUG_TRANSACTIONS no longer defaults to y, a big
   performance improvement on multithreaded workloads