Simplify `DynamicVersionResolver`This commit merges `RepositoryResolveState` with `ComponentSelectionContext`. This makes the code easier to read, by avoidingincomprehensible back references. Unit tests are also clearer since they now clearly show which versions were tested, rejectedand not found.
Wrap all ModuleComponentRepositoryAccess chains in an error handling wrapper, so that failures are attached to the result rather than propagated. Changed BuildableComponentSelectionResult so that failures can be attached to the result, use this when the meta-data for a candidate cannot be resolved. Swapped order of 'missing' locations so that the version list URL appears first in the list (to reflect the order we tried things in).