Introduce the component dependency resolution entry point. (dotnet/core-setup#4720)
Introduce the component resolve entry point.
- Refactors argument init to use the same code for app and components
- Remove usage of the global init structure from args init - makes it much clearer what is used where.
- Other small refactorings
- Adds basic doc with notes and open questions - should eventually become the real design doc for this feature.
Commit migrated from https://github.com/dotnet/core-setup/commit/
2fbde0a1c6787b1eee2bd57589dae9b0e0f6a2ea