split CCompilerBuildStep into two steps, creation and execution

This will allow the compiler command to be modified (for example,
to allow instrumentation for code coverage.)