Added basic support for Windows registry access
Added registry subkeys enumeration
Registry-based Windows SDK detection
Fixed NPE when no Windows SDK is available
Fixed style issues
Added @Incubating
Applied pull-request feedback
Don't expose a plugins(Closure) method in the build script formally.

 Exposing this formally (i.e. via Script, or script target) means that “plugins” can't be used as an identifier in a domain object container as our dispatch logic for creation in the container DSL will prefer this which is not what we want.

Instead, make the plugin(Closure) method implicitly available by attaching it to the distinct script class that is used when executing this block (plus the buildscript {} block).
Method should be public.
REVIEW-3858: Javadocs and remove 'darwin' alias for mac os
Moved platform-related code into a separate sub-package
Provide a temporary workaround to the different way that buildscript {} blocks delegate in build scripts.

This is a temporary workaround in order to shake some associated changes out in CI that will still be effectual when this is fixed with a more general solution.
Fix for broken OS detection when building under cygwin.
Some tweaks to type parameters.
Some tweaks to error messages for badly formed @Options.
Removed some @Timeouts
Marked some stories as done.
Formatting.
Merge branch 'native-winsdkreg' of git://github.com/mputters/gradle
Merge branch 'native-winsdkreg' of git://github.com/mputters/gradle