Use a CommandLogger (incomplete) as runner when dry-run is specified

* dry-run is always false for now [#62194676]

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Avoid polluting stderr in specs

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Make filename match top-level constant

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Refactor into namespace, factories and 3 strategies

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Separate each CommandRunner strategy into own file

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Move knowledge about the environment to SpawnOnly

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Focus specs for SpawnAndWait

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Conceal knowledge about process in SpawnOnly

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Move knowledge about bash into SpawnOnly

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Focus specs for SpawnOnly

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Inline CommandRunner.bash_runner

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Remove yield that was only present for an old spec

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Only spawn process when dry-run is false, always log

[#62194676]

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Combine CommandRunner and SpawnAndWait

There is no longer much value to the module

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Rename SpawnOnly to Spawner to convey its purpose better

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>
Expose --dry-run via CLI

[#62194676]

Signed-off-by: Abhijit Hiremagalur <abhi@pivotallabs.com>