FLUID-4330: "Code for staring at" towards the GINGER WORLD
FLUID-4330: Experimental work exploring whether expansion can happen subsequent to merging (result - it probably can't). IoC test cases pass, but will be widespread failures in UIOptions etc.
FLUID-4330: First working implementation of SELF-REFERENTIAL GINGER EXPANSION
Merge branch 'master' into FLUID-4330
FLUID-4330: Working version with expanders and elaborated tests!
FLUID-4330: Before main phase of ginger work. All framework test cases now passing again as a result of adjustment of model idiom of TableOfContents component as well as new and highly expensive "miniWorld" idiom
FLUID-4330: "reverse merge" removed from core merging algorithm, corrections to idiom throughout framework to deal with new semantic for "non-incremental merging". Core test cases now passing again, remaining failures within Reorderer (which now needs to be rewritten to use IoC proper) and Renderer Utilities failures with expanders which remain to be diagnosed
FLUID-4330: Fixed version of replace mergePolicy and further tests bring all framework tests back into function except for LayoutReorderer. May now progress to stage 3 of work - test case for genuinely interleaved merging and expansion
FLUID-4330: First passing test case for SIMULTANEOUS MERGING AND EXPANSION!!
FLUID-4330: Another ginger test, reorganised tests
FLUID-4330: All tests except LayoutReorderer now working again with rationalised and simplified instantiator system - instantiators are now looked up from component records in all cases where they can (only 4 instances of fluid.withInstantiator now remain) - unified lookup of component records within instantiators within "shadow record". Fix to qunit-composite to update link to individual test before test starts
FLUID-4330: Further rationalisation in expandOptions - eliminated "preserveFromExpansion" in favour of mergePolicy modification, preparing final conversion to gingerness. Fixed further bugs in expansion pathway relating to "tall late things" with further tests for ginger cases. Improved messages in CachingTests.js
Merge branch 'master' into FLUID-4330

Conflicts:
	src/webapp/framework/core/js/FluidIoC.js
FLUID-4330: Merged up with testing framework in master and resolved conflicts as well as latent bug in FluidRequests "deferredExpander" (see https://github.com/jquery/qunit/issues/397 )

Merge branch 'master' into FLUID-4330

Conflicts:
	src/webapp/framework/core/js/FluidIoC.js
	src/webapp/tests/framework-tests/core/js/CachingTests.js
	src/webapp/tests/framework-tests/core/js/FluidIoCTests.js
	src/webapp/tests/framework-tests/core/js/FluidIoCViewTests.js
	src/webapp/tests/framework-tests/core/js/FluidJSTests.js
	src/webapp/tests/framework-tests/renderer/js/RendererUtilitiesTests.js
	src/webapp/tests/lib/qunit/addons/composite/qunit-composite.js
FLUID-4330: Moving towards the last unwrapping - passing mergeRecords from embodyDemands and eliminating localRecord from expandComponentOptions
FLUID-4330: Really now FINALLY ready for the ginger world. All outstanding work imported from FLUID-4392 additive demands block branch, and communication between embodyDemands and expandComponentOptions now occurs via the appropriate "mergeRecords" - "localRecord" now abolished. "mergeAllOptions" also abolished, along with support for encoding this inside the options record itself. Inverted sort order of listener priority so it can be shared with mergeRecord priority. Three test cases now failing - layoutReorderer (requires reimplementing, main aim of branch), IoC-driven options transformation, and an obscure RendererUtilitiesTest which relied on being able to fish "{arguments}.1" out of the soup. Expansion pathway is now completely clear - only remaining mess lies behind in embodyDemands handling of its own "localRecord".
FLUID-4330: Final tidy-up - eliminated fluid.resolveEnvironment and kin, as well as fluid.expander.expandLight - consolidated into a single fluid.expand with consistent "initter" and "target" semantics for all source types
FLUID-4912: Updated .npmignore to include testing framework.
FLUID-4871: Updated check for browser environment. In addition to checking for window object also checking for window.document since we create a stub window context in Node.js as well.
FLUID-4330: First ACTUAL DEMONSTRATION of component-cyclic ginger options!!!
Improvements to fluid.fail diagnostics in jqUnit environment - also
FLUID-4707: no demands block resolution onto mismatched options -
FLUID-4236: merging between decorator and demands block options
FLUID-4733: regularised default value merge algorithm