Introduce new ComponentEnabledSpec, removing testEnabled/benchmarkEnabled.
As per an existing TODO in the code, the use of testEnabled/benchmarkEnabled to indicate if a component was enabled/disabled by the user command line was an egregious violation of abstraction. This commit removes these two fields, instead passing along the necessary enabling information with ComponentEnabledSpec instead. As there were not many uses of testEnabled/benchmarkEnabled, this was not too difficult to do. Signed-off-by: Edward Z. Yang <firstname.lastname@example.org>