Apt ordering code improvements
by alkmim for Debian Project
The ordering code in libapt is responsible for ordering the installation of the debs. It ensures that packages are unpacked/configured in the right order so that dependencies are satisfied etc. Currently it organizes the ordering into big batches. It would be good to be able to instead order according to various constrains. Orderings like "order-for-minimal amounts of dpkg invocations", "order for minimal amount of broken packages at any point during the install". This includes code cleanup and