reimplement required_pkgs using sat solver and support request priority
Whole function required_pkgs is reimplemented. Its features are same as previous implementation, except its now also solving cycles in dependencies and implements priority precedence for requests. Also all dependencies are now canonized, no matter where they came from.
Showing with 573 additions and 168 deletions