MAGN-5103 Select Face goes into infinite loop when ModelCurve in graph, Run auto on

Partial fix for MAGN-5103

http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-5103

Requires merge:
- [ ] Revit2015

PTAL:
@Steell 
Here, `validEls` will contain all the elements in the selection that are still valid after a deletion event. If this is empty (all the selected elements have been deleted), don't we still want to clear the selection? The `return` here will prevent `UpdateSelection` from being called, and so the selection will still contain all of the deleted elements.

I think what we actually want to do is prevent the node from dirtying if `UpdateSelection` doesn't actually change the selection. This could be handled in the implementation of `UpdateSelection` and could leverage the `HashSet<T>.SetEquals()` method to quickly (`O(n)`) determine if the selection has changed.