Merge remote-tracking branch 'amb26/FLUID-4330'

* amb26/FLUID-4330:
  FLUID-4794: Merge branch 'master' into FLUID-4330, apply new "forgetAll" enhancement to sanitise test
  FLUID-4873: First working test case for LUKE SKYWALKER OPTIONS and IOCSS! Cleaner workflow for component accessor hopefully allows "transformOptions" to pass through "distributOptions". Some linting, added "throws" to our set of jqUnit passthroughs.
  FLUID-4637: A test case from KING (not a bug in this case), and some comment and definition cleanup following review
  FLUID-4914: Resolve onto grade names during both value context and demands context resolution. Next step - abolish fluid.alias and Uploader.
  FLUID-4330: Two helpful test cases from KINGG reveal argument mangling in event dispatch through double resolution (FLUID-4631, FLUID-4634). fluid.withInstantiator finally bites the dust, and with it various annoying pathways trailing instantiators through RendererUtilities. RIP - IoC is now threadLocal free
  FLUID-4330: Removed "reverse merge" and tests, added non-api comments
  FLUID-4392: Additive demands blocks!!
  FLUID-4129: mergePolicy is now responded to from all sources. A mostly invalid test case from RenderUtilities has been lost which purportedly demonstrate the ability to IoC-resolve values within a protoTree
  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.
  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: 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: 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: 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: Moving towards the last unwrapping - passing mergeRecords from embodyDemands and eliminating localRecord from expandComponentOptions
  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
  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: Another ginger test, reorganised tests
  FLUID-4330: First passing test case for SIMULTANEOUS MERGING AND EXPANSION!!
  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: "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: 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: Working version with expanders and elaborated tests!
  FLUID-4330: First working implementation of SELF-REFERENTIAL GINGER EXPANSION
  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: "Code for staring at" towards the GINGER WORLD
FLUID-4718: Provided a test case for a failing id-label rewriting.
FLUID-4718: Provided a partially failing tests for repeating html selects with labels.
FLUID-4718: Added passing test for a single html select with label.
FLUID-4718: Removed renderer tests from ui options. they are now part of renderer test suit itself.
FLUID-4718: Fixed an issue with repeating html select components and label rewrites.
FLUID-4913: Removes all references to $.makeArray from Infusion.
FLUID-4718: updated test markup to have correct ids and labels for html uiselect tests. Reverted rsfid change in renderer.
FLUID-4718: Refactored common single select binding testing code into a separate function.
FLUID-4913: Reverted to the earlier version of qunit that does not break qunit in node. Added a new node-only utility fluid.setTesting to load dev includes that setup node testing environment.
Merge branch 'FLUID-4718'

* FLUID-4718:
  FLUID-4718: Refactored common single select binding testing code into a separate function.
  FLUID-4718: updated test markup to have correct ids and labels for html uiselect tests. Reverted rsfid change in renderer.
  FLUID-4718: Fixed an issue with repeating html select components and label rewrites.
  FLUID-4718: Removed renderer tests from ui options. they are now part of renderer test suit itself.
  FLUID-4718: Added passing test for a single html select with label.
  FLUID-4718: Provided a partially failing tests for repeating html selects with labels.
  FLUID-4718: Provided a test case for a failing id-label rewriting.
Merge branch 'FLUID-4913'

* FLUID-4913:
  FLUID-4913: Removes all references to $.makeArray from Infusion.
Merge branch 'master' into FLUID-4913
FLUID-4913: using native node require. Fixed up the nameing and public visibility of some fluid node utilities.
FLUID-4913: Fixed a bug related to includes path resolution.
FLUID-4913: Updated to latest QUnit. Fixed an issue with missing addEventListener stub in node.
Merge branch 'FLUID-4913'

* FLUID-4913: (37 commits)
  FLUID-4913: Updated to latest QUnit. Fixed an issue with missing addEventListener stub in node.
  FLUID-4913: Fixed a bug related to includes path resolution.
  FLUID-4913: using native node require. Fixed up the nameing and public visibility of some fluid node utilities.
  FLUID-4913: Reverted to the earlier version of qunit that does not break qunit in node. Added a new node-only utility fluid.setTesting to load dev includes that setup node testing environment.
  FLUID-4718: Refactored common single select binding testing code into a separate function.
  FLUID-4718: updated test markup to have correct ids and labels for html uiselect tests. Reverted rsfid change in renderer.
  FLUID-4913: Removes all references to $.makeArray from Infusion.
  FLUID-4718: Fixed an issue with repeating html select components and label rewrites.
  FLUID-4718: Removed renderer tests from ui options. they are now part of renderer test suit itself.
  FLUID-4718: Added passing test for a single html select with label.
  FLUID-4718: Provided a partially failing tests for repeating html selects with labels.
  FLUID-4718: Provided a test case for a failing id-label rewriting.
  FLUID-4794: Merge branch 'master' into FLUID-4330, apply new "forgetAll" enhancement to sanitise test
  FLUID-4873: First working test case for LUKE SKYWALKER OPTIONS and IOCSS! Cleaner workflow for component accessor hopefully allows "transformOptions" to pass through "distributOptions". Some linting, added "throws" to our set of jqUnit passthroughs.
  FLUID-4637: A test case from KING (not a bug in this case), and some comment and definition cleanup following review
  FLUID-4914: Resolve onto grade names during both value context and demands context resolution. Next step - abolish fluid.alias and Uploader.
  FLUID-4330: Two helpful test cases from KINGG reveal argument mangling in event dispatch through double resolution (FLUID-4631, FLUID-4634). fluid.withInstantiator finally bites the dust, and with it various annoying pathways trailing instantiators through RendererUtilities. RIP - IoC is now threadLocal free
  FLUID-4330: Removed "reverse merge" and tests, added non-api comments
  FLUID-4392: Additive demands blocks!!
  FLUID-4129: mergePolicy is now responded to from all sources. A mostly invalid test case from RenderUtilities has been lost which purportedly demonstrate the ability to IoC-resolve values within a protoTree
  ...
FLUID-4929: test case

Test case shows the test hanging when trying to test an event that is fired in conjunction with the component creation.
FLUID-4929: Implemented capability to bind IoC Testing fixtures to events which fire synchronously as part of a component's construction, by means of i) support for Luke Skywalker references to the target component, ii) improved framework support for cross-injection of "createOnEvent" specifications, iii) a new event fired by every TestCaseHolder named "onTestCaseStart". Took the opportunity to clean up the "activity" system without which this kind of issue is hard to debug - wrote a "standard activity record renderer" which essentially restores the kinds of "activity traces" that we would get before we had the big refactoring accompanying FLUID-4330. This will also be of use in the "Greeking and Scrobbling" system underway for visualising IoC activities. Restored the "fluid.browser" context tag which had been destroyed during the FLUID-4913 work as being apparently "redundant" when in fact it was the only tag of this type. This was causing the special QUnit-browser-directed UI provided by IOCTestUtils to not appear.
FLUID-4919: More partial work towards rewritten Uploader. Firefox 3.6-era implementation without FormData removed, all "strategies" converted over and beginning retesting - uncovered aliasing problem with framework implementation of "members".