Fix MAGN-3732 Curve doesn't update if it was selected using SelectModeElements node.

When an element is deleted/modified/added, the message will be hooked up with the plugin and so Dynamo can handle the message correspondingly and mark the related node as dirty.

In this submission, the following are done:
1). The definition of the message handler is updated with better names and more unified declaration.
2). Ensure the node is marked as dirty so that the downstream graph will be updated when the graph is run again.
3). Ensure the node is marked as dirty for nodes other than the selection nodes.

@lukechurch
@lukechurch 

For the related defect, it is not the selection node that need to be updated. It is the CurveElement.Curve node which connect to the selection node. The selection node has been updated correctly and there are no issues. But the CurveElement.Curve node is not run. Here I am finding the node which created the curve and updating it. It is not permanently set to ForceReExec because after we run the graph, the ForceReExec will be reset.