HORIZONTAL_STACK and VERTICAL_STACK: when not configured with resizeToFit, let any child not specifying a fixed dimension to fill the available space. To calculate the final dimension/layout, a new property "fillAvailableSpaceRatio" is used
HORIZONTAL_STACK and VERTICAL_STACK: Add tests for fillAvailableSpaceRatio
Extensions to @mirions stacked layout changes:

- Tidies up a la jshint.
- Ensures that 100% of the available space is used up even with rounded layout values.
- Fixes a bug where a right/bottom position could be a decimal (ex. 0.25) which becomes 25% not 0.
- Adds support for maxWidth/maxHeight to constrain how much available space is used for the child view (allows following child views to use more).
Removes the ill-conceived attempt to include maxWidth/maxHeight for auto-fill.
Adds the SC.ChildViewLayoutProtocol referenced in the code that didn't exist.
Adds a new optional method `layoutDependsOnSize` to SC.ChildViewLayoutProtocol that determines whether the child view layout plugin needs to re-run when the view's frame changes. This is required for flexible views that lay out their child views dynamically based on their size. Because the view's layout doesn't change even when its frame does, it otherwise would not re-layout the child views.