Fixed concurrency issues, multiple connections per worker and auto test scenario

There is a fundamental design question we should answer about the Agent/Worker communication. Do we want to pass test parameters to the worker through command-line arguments? Before this change, we only sent the mode (worker) and the parent PID through the command-line. These were necessary for setting up the agent-worker relationship. Anything else could just as easily be routed through standard I/O Json messages.