Remove selection targets.

For reference selection and sub element selections, we can store a
dictionary keyed by element id of elements. This will be handy later for
sorting into lists of lists, but is, currently flattened to adhere to
the original behavior.
Prep classes for separation.
Create SelectionBase and move to CoreNodesUI.

Move xaml to CoreNodesUI. Rewire ElementSelection classes to selection
base.
Set the selection helper on nodes.

Use IModelSelectionHelper to allow you to inject selection behavior into
nodes.
Wrap a reference parse in a try catch.
Override two load methods.

When loading these nodes, we want to clear the saved selection of any
elements or references that don't exist in the model.