SAT structure creation, stage 1
Populate a SAT instance with variables and clauses, describing the relations between packages, requests, etc. The details are described in
It is possible to ignore complex dependencies and multiple package versions. This way we would get the equivalent of the current functionality sooner while preparing the ground for the full feature set.