Small changes to improve dependency resolution performance

- Mark skipped nodes as rejected. Today if a node is rejected
and the children in the "acceptable" state, they are never looked at again.
The conflict resolution algorithm ends up running 1000 times even though
the parents are rejected.
- Renamed AsseemblyLoaderFacts to DependencyWalkerFacts
- When a node is eclipsed, shortcircuit immediately
- Add tracing for more discrete points withing the
runtime graph walk
- Remove the LINQ from the ProjectResolver

/cc @lodejard @loudej @glennc