Reduces the number of dependencies for the Welcome and TestRunner app.  Fixes missing statechart dependency for TestRunner.
Gives SC.TreeController the jshint treatment and also adds the arrangedObjects observer on demand, which removes the need for a chained observer (== slightly less memory, faster).
Adds unit test showing that nulling out the content of an SC.TreeController will throw an exception.
Fixes exception when setting the content of an SC.TreeController (or any other object that nulls out arrangedObjects and mixes in SC.SelectionSupport).  Fixes previous commits failing unit test.