Changed DefaultVisualStudioLocator to search the registry for visual C++ installations instead of visual studio installations. Allows building using Windows SDK 7.x without a visual studio install.
Changed visual studio and sdk locators so that if an install dir has been specified, then consider only that location (but mix in the meta-data for that location if present in the registry).
Added a couple of notes.
Moved VisualStudioLocator and WindowsSdkLocator to build scope, so that they are shared by all projects and the results of discovery are reused.
Changed ToolChainInternal.canTargetPlatform() to return a ToolSearchResult, so that it can explain why it cannot target a given platform. Made availability an internal concern for the tool chain implementation.
Added environment variable to get rid of warning when using gcc under cygwin.
Changed GccVersionDeterminer to use the output of `gcc -dM -E` to probe the gcc version using the pre-defined preprocessor macros. Will allow for other kinds of interesting meta-data to be extracted eg mingw vs cygwin-64
Removed an unused class.