Sub organisations for all

Tracker: https://www.pivotaltracker.com/story/show/48860985

Delivering the actual story was a pretty minor change, but I took this as an opportunity to tidy up some of the code around administering organisations. In particular:

* `MainstreamLink` is now a polymorphic model, rather than relying on a join model, which is much simpler.
* The javascript for managing nested has many attribute fields has been consolidated, and is now used to managing mainstream links. This results in a better user experience and allows for much simpler controller code.
* The functional tests have been consolidated and simplified a bit, removing quite a few view tests, although there is still more that could be done, particularly around the `:people` action and the managing of classifications/mainstream categories through the update action.