- Added support to declare statically whether a type is a container of children and what polymorphic type is allowed.
- Wired-up TAML readers to check for child compatibility.  If not compatible then a warning is issued and the child is deleted.  An example warning is "Taml: Child element 'SimObject' found under parent 'Scene' but object is restricted to children of type 'SceneObject'."
> Scene does this by simply declaring the "Children" typedef (alongside the Parent typedef) and implementing itself as a "IMPLEMENT_CONOBJECT_CHILDREN(Scene)".
> SimSet has children but it allows all SimObject which is the default so no change is required.