GPII-27: Reorganisation of SPI test code to provide better diagnostics. Upgrade of driver code to harmonise with new strategy in universal project (GPII-43)
Merge branch 'gpii-27'

* gpii-27: (30 commits)
  GPII-27: Reorganisation of SPI test code to provide better diagnostics. Upgrade of driver code to harmonise with new strategy in universal project (GPII-43)
  GPII-27 Extend the supported settings for the SystemParametersInfo settings handler Improved the output given when the handler fails. It gives more information about the method that caused the crash.
  GPII-27: Correcting file permissions of bindings DLLs to make them executable
  GPII-27 Extend the supported settings for the SystemParametersInfo settings handler Improved namespacing in SpiSettingsHandler.js - most of the functions were moved to gpii.windows.spi Improved testing - included all existing payloads; provided additional tests to ensure the original settings have been restored
  GPII-27 Extend the supported settings for the SystemParametersInfo settings handler MouseClickLock and all other options where the pvParam is a single value should now work properly. accessField has been removed resolvePath has been adjusted to use fluid.get and fluid.set instead
  GPII-27 Extend the supported settings for the SystemParametersInfo settings handler Added SpiSettingsHandler.js to the manually loaded modules in windows gpii.js Added some missing file permissions. Registry and Spi settings handlers now have proper jqUnit tests.
  GPII-27 Extend the supported settings for the SystemParametersInfo settings handler Redesigned the structure of the payload for the SpiSettingsHandler. Now it should be easier to pass individual settings. This also improves the readability of both the SpiSettingsHandler code and the payload. The testPayload file has been renamed to testHighContrast to reflect the settings being tested.
  GPII-27 Extend the supported settings for the SystemParametersInfo settings handler Updated ffi to v1.1.2 Removed node-gyp from node_modules The double quote character is used for strings Many SpiSettingsHandler functions and constants are transferred to WindowsUtilities
  GPII-27 Extend the supported settings for the SystemParametersInfo settings handler. Added tests for the SpiSettingsHandler.
  GPII-27 Extend the supported settings for the SystemParametersInfo  settings handler
  GPII-27 Extend the supported settings for the SystemParametersInfo  settings handler Trying to restructure the code in SpiSettingsHandler.js
  GPII-27 Extend the supported settings for the SystemParametersInfo settings handler The spiSettingsHandler now supports pvParam arguments of type array, INT, BOOL, UINT, ULONG and DWORD.
  RegistrySettingsHandler.js is now compatible with ffi 1.0 and working. Some of the registry functions have had their argument types corrected - uint32 is used to substitute the HKEY type. In WindowsUtilities the from(to)WideChar functions have been fixed. The pointerToHex and hexToPointer functions have been updated to ffi 1.0 and are working properly. The ensureAlignment function has been added since the unicode registry functions require the string pointers to be aligned on 16bit boundary.
  Added get and set functions for the SpiSettingsHandler. Fixed the indentation in the SpiSettingsHandler.js and WindowsUtilities.js. Cleaned the code a bit. Updated hexToPointer and pointerToHex functions in WindowsUtilities to ffi 1.0
  Modified SpiSettingsHandler to work with NONCLIENTMETRICS. The handler now supports nested pvParam structures of arbitrary depth. Another improvement is that now you don't have to explicitly specify all pvParam fields in the settings block - only those you want to be changed.
  Modified SpiSettingsHandler and payload structure to support options and settings blocks.
  spiSettingsHandler working with HIGHCONTRAST, LOGFONT, STICKYKEYS and FILTERKEYS structures with revamped payload design.
  GPII-25 Updated spiSettingsHandler to work with node-ffi 1.0 Added the getUiParam function to avoid hardcoding the uiParam values in the payload. Updated parts of the WindowsUtilities module to be compatible with node-ffi 1.0
  Updated spiSettingsHandler to work with node-ffi 1.0 Added the getUiParam function to avoid hardcoding the uiParam values in the payload. Updated parts of the WindowsUtilities module to be compatible with node-ffi 1.0
  Trying to get the settings handler running for NONCLIENTMETRICS
  ...
GPII-27: Updated the SpiSettingsHandler to integrate it with universal