[llvm-strings] Improve testing of llvm-strings
This patch tidies up the llvm-strings testing by:
- Adding comments to every test.
- Getting rid of canned input files, and having the tests generate them on the fly (this makes the tests self-contained).
- Adding missing test coverage.
- Renaming some tests that weren't clear as to their purpose.
- Adding extra checking of various cases, formatting etc.
- Removing a test that didn't seem to have any useful purpose for testing llvm-strings.
Reviewed by: rupprecht, grimar, MaskRay
Differential Revision: https://reviews.llvm.org/D66015