Specifically, making the following changes:
- Turn lambdas calculating ODR hashes into static functions.
- Move ODRCXXRecordDifference where it is used.
- Rename some variables and move some lines of code.
- Replace auto with explicit type when the deduced type is not mentioned.
- Add const for unmodified objects, so we can pass them to more functions.