Removes custom Docker lookup code and instead integrates it with the generic lookup routine used by other package managers. Logic for digest support was added but is used by Docker-only for now. Closes #2081, Closes #2276
Refactors nuget lookups to use generatic logic and fill in repositoryUrl to enable changelogs.
Adds a wrapper to all datasources to provide a generic purl-based interface.