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.
Implement configuration.missingOk to fix updateClassifiers

updateClassifiers sets missingOk to true.
cached resolution wasn’t respecting the looseness.
Merge pull request #1653 from sbt/wip/fix-1649

Fixes #1649. Exclusion rules and other cached resolution fixes