What this PR does / why we need it:
When upgrading operators with dependencies, its dependencies could have changed. In this case the Operator and OperatorVersion resources of the new dependencies are installed. Outdated OperatorVersion resources aren't removed.
The code was refactored to decouple dependency handling from package installation and have separate packages to install and upgrade KUDO resources.
Refactorings:
Extract dependency resolver from kudoctl/packages/install to kudoctl/resources/dependencies
Extract resource install functions from kudoctl/packages/install to kudoctl/resources/install
Extract resource upgrade functions from kudoctl/util/kudo to kudoctl/resources/upgrade
What this PR does / why we need it: When upgrading operators with dependencies, its dependencies could have changed. In this case the Operator and OperatorVersion resources of the new dependencies are installed. Outdated OperatorVersion resources aren't removed.
The code was refactored to decouple dependency handling from package installation and have separate packages to install and upgrade KUDO resources. Refactorings:
kudoctl/packages/install
tokudoctl/resources/dependencies
kudoctl/packages/install
tokudoctl/resources/install
kudoctl/util/kudo
tokudoctl/resources/upgrade
Fixes #1514