Convert ResolutionRequest from interface to class

Also remove DefaultResolutionRequest as this change made it redundant.
Remove unused code
Define API for unified dependency extractor
[test] Add basic dependency extractor test
[test] Add minimal POM
[test] Implement AbstractDependencyTest
[aux] Add author tag to abstract classes too
[test] Add MinimalDependencyTest
Initial empty implementation of dependency extractor
[test] Implement DependencyScopesTest
Implement dependency visitor
[test] Make test failures more obvious

If an unexpected dependency artifact is returned then it's better to
immediately say which artifact it was.
[test] Implement JavaVersionTest
Implement JavaVersionVisitor
Extract duplicated code as subroutine