Provide generalized command to run external processes, logging the run and hooking into tracking execution. Allow arbitrary functions to check final output to avoid continuing after failed piped commands. Thanks to @brentp. Fixes #15