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-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
FLUID-4330: All Reorderer configurations now working again with EXTREME GINGERNESS - beginnings of "Luke Skywalker" actually constructs a prophecy for his father first... support for "upwards injection" of previously unknown material from child. Corrected context names in Uploader since now mismatched demands blocks are discarded - a specific version number is now required to be computed somehow (for the time being, just by inclusion) otherwise no configuration is selected. New support for "members" directive allows arbitrary material to be copied to component root. Support for dynamic resolution of subcomponent types. Full ginger support for events, invokers, members, and the DOM binder! deferredInvokeExpander made the default expander, and made capable of all expansion cases. Removed more cases of withInstantiator, now pending total removal. Next steps: restore options transformation, allow dynamic mergePolicies, and multiple demands blocks! And then, the WAVE OF EXPLOSION ...
FLUID-4330 - All test cases working again! Restored functionality to basic options transformation, eliminating old scheme based on demands for the function "fluid.transformOptions" - this will be unnecessary with FLUID-4392. Added temporary hack to fluid.embodyOptions to give special support for the record entry "preOptions", since support for the previous pathway whereby options would be "accidentally" doubly expanded has been removed which was being used by the IoC-based Uploader options transformation examples. Updated qunit latest trunk to get some bug fixes.