Add a warning for unbound constraints in the validating loader

As ``dev-master`` is considered as +Inf when comparing versions (or at least as close as +Inf as possible to keep it comparable with version_compare), most unbound constraints can be spotted easily by checking whether they are matching ``dev-master``.
The undected cases are constraint on non-comparable branches like ``dev-develop``. These are technically unbound (as branches are changing) but they are more difficult to match, and some project may use a naming convention where such branches are bound  (just like we consider a ``2.1.x`` branch to be bound even if nothing forbids the dev to break the semver assumptions). IMO, these edge cases can go through the validation uncatched.

Closes #2165