Add methods to tree view via scope for more fine grained control.
Can supply a "allowSelection" function which should return true
if a given selection is allowed. This is executed before a node
is selected and allows you to prevent selection. Before this, if
you wanted to prevent the selection from changing, you had to wait
for it to change and then change it back to the original value.
Can also supply an "onSelection" function which is called when a
value is successfully selected. This allows you to handle the
selection event without waiting for digest. You can still $watch
"selectedObject" if you prefer.
Additionally, this changes the tree node to trigger a digest only
when the value is set via a MouseClick, instead of every time.
Tidies up directive scope bindings to clarify usage.
https://github.com/nasa/openmct/issues/1360
Collapse tree any time a user does an action in the
tree that would select an object; don't only do this
on navigation changes, because this fails to detect
occasions where user clicks the already-navigated-to
object.