(PUP-2562) Remove uses of unsupported range syntax in PMT.

Prior to this commit, if any module contained a dependency statement
without a version requirement, it was erroneously treated as if no
version would satisfy (rather than allowing any version to satisfy).
This was a regression, and this change abstracts the places where we
made those checks, and corrects the error.  In addition, there is new
debugging output that will help identify similar cases in the future.
(PUP-2562) Remove uses of unsupported range syntax from Semantic.

This change pulls in an update to Semantic that was made in commit
6d17d5283e0868cfc3d74d1e9d37b572e1739b6e.