Convert println() to log.debug()
three-stage incremental compilation
Various fork in Test fixes. Closes #512 #515.
require a smaller set of sources in the third (transitive) step of inc. compilation
toStrings for some concurrent restrictions
2.8.1 compatibility for compiler interface
note about Scala build and compiler interface
clean up temporary directory on exit.  ref #502

Directory was already empty, this just removes the empty directory.
defer opening logging output files until an actual write
Merge multiple dependency definitions for the same ID.  Fixes #468, #285, #419, #480.

This is only a workaround.  Multiple dependency definitions should be avoided
in general.
2.10 compatibility
per-project resolution cache that deletes cached files before each update

These are the ivy files, properties, and resolve reports for the project,
not dependencies and their artifacts.
don't write <scope> section of pom if scope is 'compile'
Second part of resolution cache work.  Fixes #532.

Replaces the standard Ivy resolution cache:
 1. Separate the cached resolved Ivy files from resolution reports,
    making resolution reports easier to find (target/resolution-cache/reports/)
 2. Cache location includes extra attributes so that cross builds of a plugin
    do not overwrite each other.
Force update on change to last modified time of artifacts or cached descriptor.

This is part 2 of the fix for #532.  It may also fix issues when working with
multiple local projects via 'publish-local' and binary dependencies.
Add valid project IDs to 'No project <x> in <uri>' error message
Proper isolation of build definition classes.  Fixes #536, #511.
Reported file name when an error occurs while opening a corrupt zip file in Locate
Source position mapper support
Pulled mapper folding into a function for reuse