Changed CppCompile and AbstractLinkTask to remove all previous outputs before doing work, to clean up stale output files (eg old .o or .pdb files).
Extracted BinaryNamingScheme out of TaskNamerForBinaries, and made this available for a given binary via BinaryInternal.getNamingScheme().
Changed the plugins to use the naming scheme for ClassDirectoryBinary instances to generate task and output directory names.
Changed NativeBinaryInternal so that it extends BinaryInternal.
Changed the native plugins to use the naming scheme for a native binary to generate task and output directory names. Each binary now has a separate output directory, for those cases where output file names are the same for multiple binaries (e.g. static .lib and shared library link file .lib under visual c++).
Minor updates to c++ spec.
Added placeholders to release notes for new features.