* factor running of localcommands into a runner api method.
 * make more fine-grained evaluation of when to attempt running local commands
 * add messages for error conditions related to missing localcommand support or incorrect context when attempting a local command.
 * fix up imports now that the paste script dependency is eradicated.
 * add tests for missing local command support and incorrect local command context
allow for passing a fresh runner to the run function so we can use it in different contexts within tests.