a new beginning: adept mark2
Merge remote-tracking branch 'origin/mark-i'
Fixes transitively introduced constraints

See ConstraintsTest.scala:128
a better resolver that tries all paths to resolution

if a graph is under-constrained we try every possible combination of under-constrained variant to be able to resolve. it starts with the simplest combination (forcing one by one variant and trying) and then expands to all combinations of all under-constrained variants.
It is expensive, but seems to be working

NOTE: needs cleanup
clean up and fix forced variants that were too strict
fixes all current test cases

Need to improve code quality also performance is REALLY poor on unresolved graphs
minor cosmetics changes
fixes performance

currently a hack because the way we find combinations is flawed when it
comes to single variant combinations. what is required is a more elegant
solution to find all combinations.
removing .par. it might fail on build server
adding .par and changing scala-version: 2.10.2
internal state should be private
first stab at exclusions
relaxing private scope to make it testable
finished exclusions

exclusions:
- based on dependencies and a set of variants removes all children from the nodes matching a query
- creates new variants that excludes the matching dependencies
- creates a set of dependencies that constrains to the excluded attributes
added overrides (works like exclusions)
no longer parallell, but eliminates already checked combinations correctly
added optimal underconstrained in state.

it makes it possible to retrieve the best paths (least amount of force required) which where found that actually resolves
mark3 of resolution engine: fixes random behavior and makes code clearer
typesafty for ids
Bumped SBT to 0.13.x, updated plugins / dependencies