1. Refactor [15607]  (refs #6954, #7550, #7706, #7784, #7823) so that getDescendants() works as in 1.2 again, returning all descendant widgets, even nested widgets that are defined in templates.   Expose the new functionality from [15607], to find direct descendants only, into a new _Widget.getChildren() method, rather than as flag to getDescendants().
1. Refactor [15607]  (refs #6954, #7550, #7706, #7784, #7823) so that getDescendants() works as in 1.2 again, returning all descendant widgets, even nested widgets that are defined in templates.   Expose the new functionality from [15607], to find direct descendants only, into a new _Widget.getChildren() method, rather than as flag to getDescendants().

This is because:
  - [15607] gave getDescendants() a subtle API change: it no longer found widgets inside of a dijit.Declaration (since no containerNode was defined)
  - because of that, Form was broken in that it didn't find form widgets inside of a custom widgets, declared with dijit.Declaration or dojo.declare, which didn't define this.containerNode

2. Also, rolling back #7819: ContentPane: missing an addChild() method (refs #7819), because of the backwards compatibility issue for custom widgets that extend ContentPane and also extend _Container/_Contained.

Summary:
     - getChildren() is now supported by all widgets, and _Container widgets have (as before) an optimized implementation of getChildren() that overrides the one in _Widget.
     - ContentPane not supporting any _Container methods except getChildren().   Users can set a ContentPane child by calling attr('value', ...) etc.

!strict

git-svn-id: 674a2d6b1e32e53f607eb824547723f32280967e@16904 560b804f-0ae3-0310-86f3-f6aa0a117693

Sam-Cummins/delite,kitsonk/delite,kitsonk/delite,harbalk/delite,harbalk/delite,Sam-Cummins/delite