Added some diagnostics
Don't make ComponentMetadataDetails extensible.
Removed TODO
Pass LatestStrategy into DefaultDependencyResolver the same way as VersionMatcher is.
Simplified ClassLoaderVisitor.
Moved some classes from core to baseServices.
use consistent spelling for `customize` throughout docs and codebase

- some minor other spelling improvements along the way
Refactored the way new resolution result is built so that it is easy to serialise the new model.
Refactoring - used the static fields for better clarity.
Small refactoring - used specific exception.
Refactoring - removed one public constructor.
Small refactoring - used specific exception.
Some refactoring, removed redundant listener that turns out not necessary. Some rename job.
Steps towards serialising the new dependency graph model (we already stream the old model).