Live binding in trees

Because of optimizations made earlier, tree content was unlinked somewhat from objects' related objects.  This commit fixes that for:* Program-directives mapping* Directive-sections mapping* All types of Relationships when the Edit buttons are clicked within treesAlso the join models have been refactored into their own file, and have a new superclass, can.Model.Join