Update clang-format in pre-commit hook
We are currently using clang-format 16.0.6 in our pre-commit hook. Might be good to update to something more recent. Certainly my local clang-format (v18) behaves slightly different for certain changes.
Probably also a good time then to bump some of the other tools used in pre-commit.