Fix list spec

This required fixing a race between calls to setupIterationTemplate,
caused both by expandComponent and handleIterationTemplateChange.  The
repetition now checks whether there is an iteration template before
either setting up or tearing down.

-   Add public Component.addChildComponent, deprecate private
    _addChildComponent.
-   Repetition now has selection, selectedIterations, and
    selectedIndexes.

In this comment, child component management regresses.  The child
components do not come and go with iterations.  This needs to go back to
the drawing board because there are two independent asynchronous stages
in the pipeline from controlled iterations to drawn iterations, one of
which to create new iterations, the second to synchronize the draw.  The
controller iteration model updates synchronously, the component model
must synchronize with the iterations only when there are enough
iteration template instances, and the draw can only proceed when the
component model is consistent.