Replace clang-format.sh with a faster, better version
We need to replace clang-format.sh with a version that meets our use-cases.
Notably:
- we need to be able to check whether anything is misformatted without actually reformatting it.
- we need to be able to look at only those files that are staged to be committed, so that our git hooks can work.
- we need a mode to reformat everything that has changed in git, so that we can run a quick "reformat everything" command without scanning the entire repostiory (which takes around 60 seconds for me).
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information