(PUP-2882) Make explicit no downgrades constraint

Prior to this commit we were enforcing that you cannot downgrade with the same
condition that checks for the same version being installed.
This commit adds an explicit constraint to the dependency graph to enforce that
you cannot use older versions. This makes the version already installed error only
show up when the version is already installed and give a unsatisfyable graph error
otherwise.