run befores, command and afters in order, abort if any fails.

    Before and after commands will always run without waiting for
    command confirmation, but all remaining commands will be aborted
    if any command fails.

    Since the main use case of commands is to prepare files before
    push, waiting until after the initial analysis and confirmation
    does not make sense. For now I am implementing only the basic
    functionality that meets the use-case.