Title: Update List and Grid layouts to use one giant structural node when/if we detect flexbox bugs in the enviornment, in order to enable cross browser support of item striping after edits.

We have changed the scope of item striping to only apply to WinJS list and grid layouts as well as any custom layouts that opt in to using structural nodes by setting Layout.numberOfItemsPerItemsBlock. This checkin changes our List and Grid Layouts behavior when we detect known bugs with nested flexbox scenarios in the browsing enviornment to always use structural nodes, so that those layouts can continue to reparent items into containers whenever edits happen, with reparenting being the prerequisite to preserving item striping after edits without compromising performance.

Normally our List and Grid layouts will put all of the items of a group into several win-itemblocks elements with, each itemsblock containing a handful of items. The itemsblocks are in turn put into a  single win-itemscontainer element which contains all the itemsblocks and items for that group.  Our List and Grid layouts will then make both the itemscontainer element and the itemsblocks elements display:flex.

However some browsers do not display nested flex boxes correctly, and has a result, our layouts when detecting these bugs exists, have had been forgoing itemsblocks entirely, putting all of the win-items directly into the win-itemscontainer, leaving the win-itemscontainer as the only display:flex element.  With this change we now handle bugs with nested flexboxes by putting one giant itemsblock into the itemscontainer element, putting all of the win-items of a group into the single itemsblock, making the itemscontainer display:block, and let the itemsblock element be the display:flex element.