replace envoy with subprocess so we can watch long running commands

fix for issue #123
also replace @command and @keyval_parse decorator usage with functions so pylint is no longer confused