Rename selectedItem to selectedViewModel

We will probably change the names again in the future, but this helps eliminate confusion for the time being.  Also add a method to select a node by it's id.