(PUP-2901) Add module dependency validation

Prior to this commit there wasn't much verification for module dependencies.
This commit adds verification the module dependencies have sane names and version
ranges. If verification fails, it will raise an argument exception.
(PUP-2745) Ignore malformed forge dependencies

Prior to this commit a malformed name in the dependencies for a downloaded forge
module dependency would cause the PMT to fail unexpectedly.
This commit causes the PMT to ignore malformed dependencies.
Merge pull request #2851 from highb/fix/master/pup-2745_forge_dependency_fix

PUP-2745 Forge malformed dependency fix