Changing the lifecycle of the layout object in GroupBase. Before, we?\226?\128?\153d always instantiate one in GroupBase?\226?\128?\153s constructor. Now, we wait until createChildren() time to instantiate the default. This means if people set the layout object, we won?\226?\128?\153t be creating this extra BasicLayout we don?\226?\128?\153t need. There was an assumption in GroupBase around some of the proxied properties that the layout object was always going to be present. These are cleaned up for when the layout object doesn?\226?\128?\153t always exist. Also, now when the layout object is swapped at runtime, the verticalScrollPosition and horizontalScrollPosition don?\226?\128?\153t get pushed into the new layout object, as they may not translate correctly. We discussed the possibility of sending in a ?\226?\128?\156first item in view?\226?\128?\157 for when the layout object is swapped, but for now, we don?\226?\128?\153t do anything like that.
Also fixing a bug in components.properties and some spelling errors in SkinnableDataContainer.
QE Notes: Fix the tests that were failing and re-include them
Doc Notes: -
Bugs: SDK-19769, SDK-20163
tests: checkintests, mustella core and layout tests