Added strategies for subprocess communication so that people can use it without using the rpc protocol.
Only start the extra stdout processing thread if we need it.
Only redirect output if we have a comms strategy.