Adds the ability to specify xml:withMessages for FindBugs XML report.

This also adds the text and emacs reporting options for FindBugs.
Use 'executable' instead of 'exe' to configure name of tool chain tool
Start work on support for building native binaries targeted at different platforms

- Added 'targetPlatforms', a container of 'Platform' instances
- Create a binary for every target platform
- Include targetPlatform in the binaries variant dimensions
Verify the architecture of generated binary files
Added dumpbin based BinaryInfo for windows
Use Windows SDK 7.1 where available

- Verify existence of Windows SDK for Visual C++ tool chain based on install directory.
Create tasks for all defined tool chains, not just available ones

- Ensure that we always have at least one tool chain in the registry

better
Test for failure when building with unavailable tool chain
comment
Temporarily ignore failing test
Removed some unused constructors.
Removed some direct usages of FileSystems.default.
Javadoc
Added some coverage for build script in the tooling models, for older target Gradle versions.
Added some trace to broken test
Fleshed out a plan to implement symbolic link support in the copy tasks.
Added a basic first cut at GccToolChain being architecture-aware

- Added Platform.architecture property and (temporary) enum
- ToolChainInternal.target(Platform) returns a platform-targeted toolchain
- Use '-m32' and '-m64' with GCC to target i386 and x86_64
Temporarily turn on verbose output for GCC, when using an architecture option
Try a possible fix for broken unit test.
Try again with test fix.