(PUP-2901/PE-4524) 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.
This wording/file references still needs to be updated before merging this PR.

And for Lauren's wording, "Multiple dependencies were given for puppetlabs-stdlib (>= 1.0.0 and >=2.0.0)" I'd like to add "at least" to the parenthetical list, because, specifying it 3 or more times only returns two dependencies in this situation.