cmCTestTestHandler: store test properties in a multimap
This allows the loops that look at all tests for specific names to skip the vast majority of their loops.
Benchmark adapted from: https://discourse.cmake.org/t/ctest-performance-drops-when-large-number-of-tests-defined/8725 (40k tests, no extra properties, ctest -R foo_testbench_smoke_0
)
Before (as of d688a213):
Time (mean ± σ): 6.222 s ± 0.228 s [User: 6.065 s, System: 0.126 s]
Range (min … max): 5.997 s … 6.782 s 10 runs
After:
Time (mean ± σ): 614.5 ms ± 5.6 ms [User: 545.7 ms, System: 66.8 ms]
Range (min … max): 608.0 ms … 623.4 ms 10 runs