Report the searched locations when Visual Studio or the Windows SDK cannot be located
Tidied up a couple of TODOs
fix test on windows
GRADLE-2906/GRADLE-2900: Different handling for directories.
Some changes on build init types based on REVIEW-3243
- start composing different init descriptors
- seperate init ids from descriptors
- move file generation into seperate util class for better testing
Fixed broken link in user guide to Maven reference.
Attempt to fix C++ integ test on windows

- Ensure stream content is flushed for library
Removed the type directory from the artifact filestore layout.
Added toString() implementations for ModuleVersionMetaData and ConfigurationMetaData.
Javadocs.
Added ModuleVersionArtifactMetaData to replace Ivy Artifact and an implementation. Not used yet.
Changed ConfigurationMetaData.getArtifacts() to return Gradle ModuleVersionArtifactMetaData instead of Ivy Artifact.
Moved responsibility for determining the artifacts of a dependency out of DependencyGraphBuilder to DependencyMetaData.
Added a bit more unit test coverage for ivy.xml parsing.
Start to rework Tool Chain implementations

- The goal of this rework is to make it possible to modify the Compiler/Linker Spec
  when setting tool arguments within the ToolChain itself, rather than using a separate
  mechanism
Pass architecture-specific arguments to the tool chain via the spec
Modified NativeCompileSpec, LinkerSpec and StaticBibraryArchiveSpec to be more easily mutable
Specify the visual studio include path on the command line, rather than environment
Fix implementation of StaticLibraryArchiverSpec
Use /LIBPATH on the command line instead of LIB environment variable for linking on VisualC++