(PUP-2745) Skip dependencies with malformed dependencies.

Prior to this commit if we encountered a dependent candidate module with a
malformed dependency, we would just ignore the malformed dependency.
This commit changes that behavior to ignore the entire dependent candidate as
an invalid module, this preventing the installation of a module with unknown
dependencies.
Merge pull request #2980 from highb/fix/master/pup-2745_skip_module

(PUP-2745) Skip dependencies with malformed dependencies.
(PUP-2040) .pmtignore and .gitignore for build

Prior to this commit there was no way for a module developer to specify files
that they want to ignore when building/packaging their module.

This commit adds the ability to specify files to ignore in a .pmtignore file,
located in the project root and using the same syntax as .gitignore, or if that
is not present, reading the .gitignore file and using that.

This commit also adds pathspec as a vendored gem. (PE-5574)
(PUP-2040) .pmtignore spec tests

Adding spec tests to cover build when .pmtignore/.gitignore files are present/absent
(PUP-2040) Update vendoring instructions

Making the vendoring instructions more clear, detailing the PUPPET_README.md
suggestion.
Merge pull request #2946 from highb/pup-2040-pmtignore

PUP-2040 Add .pmtignore functionality