Data Tree Ancestry Management
 - Use @parent to access parent context
 - Data trees now accurately track __parent__ and __root__
 - Major refactor of Model.set
   - Passing a vanilla js object or array will augment an existing model or collection or create a new one
   - Passing a model or collection will replace an existing data object
   - Collections with a default model set will now retain model defaults as objects are added
 - @parent is data bound
 - Computed properties are now evaluated, and scoped, on a per-model basis
 - If a model or collection is inserted and will create a cyclic depencancy, the model's initial ancestry values will be retained
   --- Cyclic dependancies may cause unwanted behavior and should be avoided if at all possible ---
 - Models which exist in another data tree, and have ancestry values already set, when moved to another data tree will be copied to prevent shared memory across data trees
 - Created callback now called before initial template render to allow time for initial data setting