Fixes #1649. Adds exclusion rules into SHA-1 of minigraph path
Fixes #1639. Fixes cached resolution interacting with force()

When conflicts are found for a given module, a forced one
is selected before conflict manager kicks in.
The problem is that DependencyDescriptor seems to mark transitive
forced dependency as forced as well,
so the actual forced dependency are sometimes not prioritized.
To work around this, I’ve introduced a mixin called
SbtDefaultDependencyDescriptor, which carries around ModuleID to detect
direct dependencies.
Fixes #1660

Provide overloads for transitiveScratch and updateClassifiers that work
with IvyActions.updateEither.
Make sure IvyAction.update works
Use correct stats for cached resolution
Make sure all files exist in minigraph.
Disable pattern matching in val syntax in sbt 0.13.7.

Fixes #1661 or at least works around it for now.
enable -deprecation for Scala 2.10

Enable -deprecation flag to catch old code being use when we migrate
things.
In this commit I moved error to sys.error.
Implement configuration.missingOk to fix updateClassifiers

updateClassifiers sets missingOk to true.
cached resolution wasn’t respecting the looseness.
boot package has its own error method
Merge pull request #1653 from sbt/wip/fix-1649

Fixes #1649. Exclusion rules and other cached resolution fixes
Merge pull request #1663 from sbt/wip/avoid-deprecated

enable -deprecation for Scala 2.10
Fixed #1666 - check from last end of line.
Use original function
Add scala-stm file for unit test.
Revert to previous version.
Add ; instead of brackets to xml group
Fixes #1677. Provide URLSerializer.

Without this json4s is unable to parse URLs.
Merge pull request #1680 from sbt/wip/fix-1677

Fixes #1677. Provide URLSerializer.
Revert brackets for backward compatibility (binary compatibility), addExplicitXmlContent use pattern matching, splitFile - does not return whitespace statements