(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-796) Deprecate CouchDB facts terminus (docs only)
(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.
(docs) Add note about install_options to pacman provider
(docs) Document special  value for yumrepo's proxy attribute
Merge pull request #2946 from highb/pup-2040-pmtignore

PUP-2040 Add .pmtignore functionality
(PUP-2914) Remove remaining rgen dependencies

In 6a94700, the rgen 0.7.0 library was added to the vendor directory in puppet,
and as such is no longer an external dependency. This commit removes the rgen
package as a dependency of the puppet rpm and deb packages, so that it is not
installed in addition to the vendored rgen (or worse even installed at a
conflicting version).

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
(docs) Clarify description and error message for http_proxy_password setting

"URL-compliant" was an odd way to put this, so I revised the text to be less ambiguous.
(docs) Clarify that the file type's mode attribute expects a string, not a number

Also, link to the puppetlabs/acl module.
(PUP-3129) Do not store _timestamp fact in immutable hash

The _timestamp fact causes problems when turning on immutable facts
because it is an unsupported data type (Time) that should not leak into
the puppet language. (The system halts with an error if you try prior to
this fix.)
Merge pull request #3010 from kylog/issue/pup-3129/delete-_timestamp-from-immutable-facts-hash

(PUP-3129) Do not store _timestamp fact in immutable hash
Merge pull request #3008 from nfagerlund/docs_37_deprecations_and_revisions

Docs: 3.7 deprecations and revisions
Merge pull request #3007 from MosesMendoza/PUP-2914/master/remove_rgen_deps

(PUP-2914) Remove remaining rgen dependencies
PUP-2040/PE-3113 Ignore symlinks in module build with pmtignore.

Before this commit, pmtignore functionality worked, but only after
checking for symlinks, so it was impossible to ignore symlinks. This
commit allows symlinks to be ignored, too.
Merge pull request #3014 from andersonmills/fix/master/PUP2040-gitignore_symlinks

PUP-2040/PE-3113 Ignore symlinks in module build with pmtignore/gitignore.
PUP-2040/PE-3113 Remove symlink-ignore tests for symlinkless OSes

Before this commit, the spec tests checked for symlink-ignore behavior on all
OSes. After this commit, the spec tests only check symlink-ignore
behavior on OSes that have symlinks.
Merge pull request #3018 from andersonmills/fix/master/PUP2040-fix_symlink_testing_on_windows

PUP-2040/PE-3113 Remove symlink-ignore tests for symlinkless OSes