(PUP-2914) Add rgen 0.7.0 to vendored libraries

This commit adds the rgen 0.7.0 library by placing it in the vendor lib
that is needed for development on the new parser.
(PUP-2914) Remove rgen 0.7.0 dependency

The library rgen was an unnecessary dependency since it was
vendored. This commit removes unnecessary dependency.
(doc) Add Puppet Specific Documentation

Vendored libraries had no way for us to tell where they had come from or
what version the library was at.
This commit adds `PUPPET_README.md` files to each of our vendored
libraries to give us more information about where they came from.
(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.
(doc) Add documentation for environments api call

The environments resource was updated but documentation was not changed
to reflect the changes.

This commit adds the documentation to describe new functionality.
(PUP-2999) Use host.tmpdir for agent tmpdirs

PUP-2999 switched these two tests to use Beaker's new
create_tmpdir_for_user() helper, but this has a bug related to windows
acceptance (QENG-1108) in that it doesn't end up prepending a 'cmd.exe
/c' and we get pathing issues with our current acceptance setup on
windows.

Just switching back to using host.tmpdir calls for now; the original
changes were for jvm-puppet, but that is master only, and these are
agent calls.
Merge branch 'issue/master/pup-2999-agent-tmpdirs-on-windows'

* issue/master/pup-2999-agent-tmpdirs-on-windows:
  (PUP-2999) Use host.tmpdir for agent tmpdirs
Merge pull request #2994 from demophoon/maint/master/fix-http-environment-doc

(doc) Add documentation for environments api call
(PUP-1044) Ensure file bucket streams are closed at all times after use

This makes the stream() method on file bucket file take a block
to ensure that the processing of the stream always ends up closing it.
(PUP-2817) Fix zone properties so that nil is not passed through

Before this patch, when `insync?` was called on the zone properties ip,
dataset and inherit with value nil (happens the first time when the properties
are not present), `true` was returned, which resulted in them not being set
until the values were actually queried, which happened after the installation
of zone. Unfortunately, the inherit property can only be set before
installation.

This patch removes the spurious check for `nil`, which always returned `true`,
and instead handles it similar to when `:absent` is used.
Merge pull request #2999 from hlindberg/PUP-1044_ensure-closed-filebucket-file

(PUP-1044) Ensure file bucket streams are closed at all times after use
(PUP-406) Deprecate stringify_ facts option

The `stringify_facts` option is going to be removed in Puppet 4.0 and we
need to let users know about deprecated features.

This commit adds in a deprecation message in the stringify_facts
description.
(PUP-586) Deprecate Instrumentation System

The instrumentation system is being removed in Puppet 4.0.

This commit is for adding a deprecation message on the subcommands for
users to migrate off of it before it is finally deleted.
(maint) Fix up regex in indirector rest spec 404 tests

Seeing sporadic failures on 1.8.7 with these two tests, probably related
to order of parameter keys not being guaranteed.  This patch loosens the
regex on these two tests slightly so that it the keys can be in any
order.

With Britt Gresham <britt@puppetlabs.com>
Merge remote-tracking branch 'upstream/pr/2995'

* upstream/pr/2995:
  (doc) Add Puppet Specific Documentation
  (PUP-2914) Remove rgen 0.7.0 dependency
  (PUP-2914) Add rgen 0.7.0 to vendored libraries
Merge pull request #3000 from demophoon/deprecation/master/deprecate-stringify-fact-default

(PUP-406) Deprecate stringify_ facts option
Merge pull request #2998 from demophoon/deprecation/master/deprecate-instrumentation-system

(PUP-586) Deprecate Instrumentation System
Merge pull request #2973 from vrthra/fix/pup-2817/zones

(PUP-2817) Fix zone properties so that nil is not passed through
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)