This really is a collection of improvements to the rules for LLVM
- We have gmock headers now, so it adds support for those to one of the categories.
- LLVM does use 'FooTest.cpp' files to test 'Foo.h' so it adds that suffix for finding a main header.
- At times the test file's case may not match the header file's case, so adds support for case-insensitive regex matching of these things.
With this set of changes, I can't spot any misbehaviors when re-sorting
all of LLVM's unittest '#include' lines.
Note that I don't know the first thing about testing clang-format, so please
feel free to tell me what all I need to be doing here.