lib: Fix invalid warning about cycles

The reason is that Conflicts are included as negative dependencies but
to allows flow that package can Conflict and at the same time Provide
specific package (to do effectively replacement) it is implemented as
negative dependency for any version. Version dependencies are satisfied
only by packages of exact name, not by provided packages (for obvious
reasons as Provided packages do not have same versioning scheme).

Fix is that we pass to planning function version limitation of
dependency and plan package only if that is fulfilled by candidate
selected for given group.
8 jobs for master
in 5 minutes and 26 seconds and was queued for 9 seconds