pulling the write instructions out of Execute.  Closes GH-35
making the substitutions of the instructions be lazy
removing InstructionStep
makeing instructions available as a substitution.  Closes GH-37, Closes GH-38
cleaning up the logging for substitutions.  Closes GH-36