Split CommandLine#run into #setup and #run_specs.

These two tasks have to be performed separately from libraries like test-queue.
Parameterise the example_groups run in CommandLine.

Libraries like test-queue run a custom list of groups per worker (in the test-queue case, the list wraps a socket that receives example groups from the master). Parameterising the list here allows a custom list to be supplied cleanly.