cmMakefile: Allow arbitrary stack manipulation Create a helper class to allow insertion of arbitrary entries into the call stack (i.e. not associated with ExecuteCommand, ReadDependentFile, etc.). Refactor ExecuteCommand helper class to leverage this and to be named more consistently with similar helpers.