bcachefs bugfixes for 6.7

Lots of small fixes for minor nits and compiler warnings. Bigger items:

 - The six locks lost wakeup is finally fixed: six_read_trylock() was
   checking for the waiting bit before decrementing the number of
   readers - validated the fix with a torture test.

 - Fix for a memory reclaim issue: when needing to reallocate a key
   cache key, we now do our usual GFP_NOWAIT; unlock(); GFP_KERNEL
   dance.

 - Multiple deleted inodes btree fixes

 - Fix an issue in fsck, where i_nlink would be recalculated incorrectly
   for hardlinked files if a snapshot had ever been taken.

 - Kill journal pre-reservations: This is a bigger patch than I would
   normally send at this point, but it deletes code and it fixes some of
   our tests that would sporadically die with the journal getting stuck,
   and it's a performance improvement, too.