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
I don't think we can do this.

IIUC this is going to forcibly reset _ever_ node that has the element ID in its output and will permanently set it to ForceReExec which will degrade the performance of the graph.

Please could you take a look at the changes I make here: https://github.com/DynamoDS/Dynamo/commit/6a5a989db5460fddbf9d02322d8127490173c911

The only changes you need to care about are:

src/DynamoRevit/DynamoRevit.cs
and
src/Libraries/Revit/RevitNodesUI/Selection.cs

If you could productionise them, and then use them to fix the issue in SelectModelElements that would be great :)