refactor TaskConfig to TaskBuilder

I also refactored the DummyTask to DummyMaster and DummySlave so that it is easy to reason what they do.
We now need to define how to handle the communication between nodes.
Since the setup code is within application developer's scope, we can basically set up the taskbuilder in a way that it already has the what it need. So option #2.