Avoid race conditions when launching tasks

- Execute tasks in the proper order
- Remove sleep command
At this point, I think the only difference between Primary and Secondary NN executors are the "-i" vs. "-b". If we let the "activate" message dictate whether to activate the node as Primary or Secondary, then we only need a single class for both NN executors. This will also help out when we have to recover from a NN failure.