Added a story to configure-on-demand. The use case is improving performance by avoiding loading all projects. In CoD mode only some projects may be needed for build execution so no point in loading all of them at the beginning of the build.
Added sample for building a project with c sources
Improved reporting of failures when MultiTestRunner cannot execute suite
Fix for cpp integration tests on UnknownOS CI

- Don't require path to be updated if required g++ is already first in path
- Added 'fullTest' build type which runs all tests with incoming distribution, but only tests a single platform
    - This will be used by 'unknownOS' CI, which cannot change path for different toolchains.
Fleshed out some stories on the dependency graph model (ResolutionResult API and the old ResolvedDependency API). Please review.
Rename ReadableCopySpec to CopySpecInternal and mark CopySpec as having an internal protocol.

In CopySpecImpl we expect all CopySpec instances to implement this, therefore always requiring this internal protocol.
Use correct collection to allow mutability

- java.util.Arrays.ArrayList != java.util.ArrayList
Remove accidentally committed test.
Added spec for a feature that I really need when working and profiling large builds: improve notion of progress of the build. I've already have this feature in the experimental branch because I needed it for profiling.
First cut at support for building assembly-language binaries

- Caveats:
    - Only GCC/as supported so far
    - Sample only tested on OSX/Intel/x64
    - Significant copy/paste from CPP/C support
    - 'cpp' plugin creates a single 'asm' sourceset, which is not generally useful
Run the assembler once per input .asm file

- This mimics what GCC does, and produces a separate object file per source file
Renamed AssembleStaticLibrary task to CreateStaticLibrary

This makes it more clearly different from Assemble task which drives the assembler
Added a more sophisticated sample for asm, and sample test

- ASM code still only valid for osx/intel
Updated the asm sample so that it should work on Linux as well
Fix the asm sample test on Linux
Tests that require the executable-bit to be set cannot run on UNKNOWN_OS
Fix CppSourceSet.exportedHeaders so that it correctly handles recursive inclusion

- Just include the parent directory of every defined header file
REVIEW-2521: Some cleanup on archive test fixtures;

- Replace TarTarInputStream instead of TarFileTree (remove core dependency in internal-integ-testing)
- rework ZipTestFixture
- reuse ZipTestFixture in JarTestFixture
- verify service type and service impl in jar files
REVIEW-2449: make sample snippets in configurationcontainer autotested;

- don't use 'usequitelogging' flag in autotests to detect deprecation warnings;
- fix another autotested snippet in TestNGOptions
fix rebasing conflicts