Change tree-loading for Directives/Objectives/Controls

* these now use a list of { instance: mapping: } pairs, like the
  business objects
* Objectives are linked to Section trees, so unmapping from one tree
  will unmap from the other if no additional mappings remain