[Scenario] Follow up on blocker and related useability issues

This addresses a variety of issues related to displaying components with overlapping time frames.

* Move responsibility for enforcing constraints on activity start/end times from ActivityComponent into its own class. This allows constraints to be enforced in a well-specified context (since it is possible to generate unsolvable constraint situations in the object graph generally); specifically, a constraint system is created for each top-level activity displayed in a timeline view.
* Modify constraint rules such that parents expand to fit children (instead of stopping children from moving) to complete nasa/MCT-Plugins#21
* Modify constraint rules such that sub-activities MAY overlap, nasa/MCT-Plugins#59 
* Added a new timeline layout which handles row positioning & animation of changes thereto (previously, timeline layout was contained in TimelineView and only handled horizontal positioning). This resolves the problem of temporally-overlapping components which overlap visually, identified in nasa/MCT-Plugins#59
* Invoke new constraint system for all displayed activities when a timeline is instantiated, and when changes are made via the Info view in the Timeline Inspector. This does not prevent the user from creating user object graphs that are contradictory (in terms of activity constraint rules), but does repair visible portions of the relevant sub-graph before they are displayed. (Save/Save All will be enabled by default in this situation)
* Do verify start/end times in creation wizards, nasa/MCT-Plugins#45
* Partially implement containment rules from nasa/MCT-Plugins#5