Drop many module level globals
This MR does a quite a bit of cleanup to remove all the module level globals such as managed_*, conflict_packages, etc. It also moves more API into Packages component. Changes are nicely split in patches for easy review, however, they are not split into multiple MRs to benefit from combined testing.
This brings us very close to the finishing the components refactoring (only removal of version, essential, app, setup_helper, setup remain at module level).
This has not been tested yet. Bugs will be found and fixed, but this draft is an early preview.
Edited by Sunil Mohan Adapa