Allow widgets to display more than once within container widgets.

Adds the ability to display multiple widgets within container widgets and adds indexing by view.id in addition to model.id.

closes #5958
@jasongrout the child model has its own list of views, which could be external to the container. 
This list here is the list of child views of the container, which I has to be maintained by the container.