Singleton test variables now count towards the overall strength limit: this change in specification avoids a combinatoric explosion of test cases seen when synthesizing many separate interleaves, where each interleave refers to several singleton test variables. Some smoke tests to demonstrate the problem by eye have been added. Although this fixes the problem in theory, there is still an additional memory usage explosion that I haven't yet fixed that is exhibited by one of the new smoke tests.
Merge up from '/main'.
Prevent smoke test for demonstrating poor performance / memory explosion when mixing synthesis with interleaves from falling over with out-of-memory - want to collect timing benchmarks.
Fix for combinatoric explosion of duplicates of test variable combinations, which had previously caused both poor performance and a memory usage explosion in test 'MeasureScalingOfSynthesisOfInterleavesOfGroupsOfSynthesis'.
Merge back from 'main-SingletonCombinationPruning'.