FLUID-5503: New Fluid module API for use in node.js: fluid.module.register and fluid.module.resolvePath.
Also, insertion of fluid into node.js pan-global object "global". Upgraded fluid.require to automatically
apply fluid.module.resolvePath which gives it a bit more of a reason for existing.
FLUID-5503: Written up comment reporting results of global shredding performed by context sandboxing.
FLUID-5503: Expose jqUnit's failureHandler to allow proper semantics in Kettle tests
FLUID-5268: Corrected egregious failure of afterDestroy event in firing twice for root component
FLUID-5506: Support for first part of FLUID-5506 functionality - stacking for listeners sharing the same namespace. Rationalised fluid.makeEventFirer API - removed deprecated fluid.event.getEventFirer, removed "unicast" option, moved to full "options" model even though it increases our object count per event by 1. This can probably be removed by arg-ising all of the event firer impl and removing its giant closure. Converted AriaLabeller to a genuine Infusion component, eliminating the last client of "unicast" in the framework.
FLUID-5506: Added infrastructure for global uncaught exception handler in node.js-aware Infusion, as well as fluid.invokeLater which was required by node.js environmental failures triggered by firing an uncaught exception within setTimeout. Renamed and adjusted node tests files to be more in line with expectations. Added json linting to Infusion and an overall "lint" task to be in line with Kettle and GPII projects.
FLUID-5513: Implementation and test cases for "micropromises"
FLUID-5513: Implementation and test cases for asynchronous transform chain algorithm using our new promises library - this will be used in Kettle's rewritten DataSource component
FLUID-5513: New utility "fluid.promise.follow", extension of transform algorithm to permit promise as initial value, accept "filterNamespaces" directive to select only a subset of transform elements, and pass through arbitrary "options" object to elements of the transform.
FLUID-5513: Minor improvements to logging and cleanup
FLUID-5513: Further correction to logging on module load
FLUID-5513: New core utility: fluid.promise.map
FLUID-5513: I am completely tired of receiving this meaningless message from duplicate infusions
FLUID-5513: that-ified the IoC testing framework runner to enable it to be globally restartable. This will enormously simplify writing boilerplate for Kettle and GPII tests
FLUID-5513: Refactored transform algorithm into "skeleton + strategy" pattern, and implemented "sequence" algorithm for use in GPII LifecycleManager
FLUID-5513: Test case for sequential resolution of promises in fluid.promise.sequence()
FLUID-5513: Courteous error handling on sequencing non-array, rather than stack overflow
FLUID-5513: Fixed index stability issue in fluid.remove_if (discovered when filtering GPII test suite lists)
FLUID-5513: Upgraded "fluid.invokeGradedFunction" from a utility which used to appear in GPII's LifecycleManager. Refactored fluid.promise preparing for an attempt to introduce "unhandled rejection notification" which turns out to be unworkable. The refactoring itself seemed congenial though and removed the grubby "expression statement" idiom that used to provoke a jshint warning.
Merge branch 'master' into FLUID-5513

Conflicts:
	Gruntfile.js
	package.json