Refactor Stimulus.java
*Based on refactored relationships of MessageBusClient between
AbstractNode and NodeContainer, the Stimulus which simulates input on
behalf of web client is refactored. 
*Stimulus itself contains a MessageBusClient which is passed to instance
of subclasses of MessageBusTestCase, and fucntions as message passing.
Add comment to Stimulus.java
Implement test case for basic topology of simulation(source -> sink)
Add comment to MessageBusTestCase
Implement a test case to simulate a "start simulation" click in web
client
Check the webClientURI in validateUserSpec().
So that if the WorkSpec is sent from Stimulus instead of web client, the
feedback of graph is not sent back to web client.
Refactor the nodeId and ncLabel
*In the previous commits, ncLabel became nodeId somehow by mistake. This
has been corrected in this commit. Now when the user pass a nodeId to
the constructor (e.g. tomato:sink-1), the nodeId is "tomato:sink-1" and
ncLabel is "tomato".
*Refactor the getNcLabel() and getNodeId() methods to ensure the
semantics is the same
Remove the improper comment
Refactor the method to update the WorkConfig sent by web client.
Previous version, this part is in the startSimulation().
Now this part is refactored to a saperate method with addtion
functionality:
The downstream for each node is also identified along the chain.
Add comments.
Remove the CreateNodeTest.java
Add new work flow of a simulation
Remove the Warp.send() method
Implement stop simulation test case
Implement stop simulation request sent from web client.
Change the name of streamId to simuID
Implement JUnit test for WorkConfig validation
Override toString()
Formatting
Formatting