Bug fixes for hiding deleted nodes

Previously when a Node was deleted, it would remain visible in the various editors in two circumstances :

- The node was contained in a Box
- The node was pinned in the Editor

This pull request fixes both those cases. It also introduces a new Behaviours namespace and Behaviours class, with OrphanRemover being the first example of this new type of class - see documentation for those classes for further explanation.