Compound commands partial fix

Addresses issues outlined in #9746. However, this doesn't fix the exact use case outlined there because multiple invocations of the same command will step on each other. I'm told this did work at one point so there needs to be additional work to debug that case. This does correct compound commands where each function is distinct. (i.e. 'test.ping,cmd.run' but *not* 'cmd.run,cmd.run'.)

Still, this fixes cases where two different commands are passed in. Hat tip to @tedski for some great detective work here.