(maint) Remove unused Puppet::Parser::AST::Tag class

It has been hiding in a corner for 8 years. Unused.
Now removed.
(docs) Edit header of metaparameter reference

The language here was kind of ancient, and this commit updates it.
("Instances" -> "resources", among other things.)
(PUP-2689) Make AST Resource check tags against "inherited" tags

This overrides the tagged? method in AST Resource to also search
for tags in its containing resource. These tags will be set when
the resource is finalized (just before serialization on transformation
to external format).

If this is not done, resources will have a different tag set when
a search is made for the node itself (exported or virtual) vs. searching
external resources.

This also correct minor problems with passing an array (which could
result in an array being set as a tag).
It was also possible for empty tags to be set if a string tag contained
multiple :: in sequence, or if ending with ::. Now an error is raised
for these conditions (just like for empty segments generated by using a
sequence of commas (which was on a different code path).
(maint) Consolidate case statement in /pson/pure/generator.rb for the Float module.

Prior to this commit, the to_pson method for the Float module contained
unnecessary duplicated code.  This commit removes the duplication by
consolidating the case statements into a single if statement.
(doc) Add some missing options to apply/agent/doc/queue usage messages
(PUP-2506) Trivial Ruby bug in Puppet::Resource::Ral

Prior to this commit, a bug is triggered when the Puppet::Error string
is interpolated. The #type method was called recursively and failed with
an ArgumentError: wrong number of arguments (0 for 1).

This commit fixes the bug by changing which variable is interpolated in
the string.  It also adds a spec test for this case.
(maint) Add sitemoduledir to env env tests

These two tests set up a 'special' environment, and made the assumption
that the modulepath could be reset to something that did not include the
sitemoduledir.  In PE, not having this directory on the modulepath will
case a pluginsync on the master to remove all of the PE modules,
potentially causing problems for subsequent runs.  Adding the
sitemoduledir to the modulepath if we are running a pe master ensures
the pluginsync libdir is not cleared.
(PUP-2577) Fix version comparison for OS X >= 10.10
Merge pull request #2726 from kylog/issue/pup-2577/osx-version-compare-fix

(PUP-2577) Fix version comparison for OS X >= 10.10
(PUP-2583) mode attribute of file type does not behave like chmod when given X

When changing permissions with puppet file type and using symbolic permissions e.g: g+rX, puppet consideres everything as directory. Which is wrong, because you can specify different set of permissions for directory and file (triggered by case of the letter you use).

Problem originates in ruby && and "and" operator precedence. Which was incorrectly used in this case.
(PUP-2583) Add example to test for +X mode changes in file types.

Adding an example to test applying mode +X to files.  For files, a mode
change of +X changes the requested executable bit only if there is
already an executable bit set in the permissions.
(maint) Remove unnecessary setting of modulepath from face help spec

The integration spec checking help output for the faces was setting
modulepath directly in the body of an RSpec context block.  This caused
modulepath to be set on test file load.  Normally, this is not an issue,
since most specs are not sensitive to the Puppet modulepath setting, and
the test_helper clears all settings in its after_each_test hook.
However, a recent run of specs on Solaris master just happened to run
with the very first spec being sensitive to modulepath
(spec/integration/directory_environments_spec.rb) which then failed.
Fortunately, the current version of puppet no longer requires this early
setting of modulepath for the documentation spec to run, so I'm just
removing it here.
Merge branch 'pr/2728'

* pr/2728:
  (PUP-2583) Add example to test for +X mode changes in file types.
  (PUP-2583) mode attribute of file type does not behave like chmod when given X

This closes GH-2728.
(maint) Update test to use resource matcher

The other test added for checking the tagging behavior used the resource
matcher but the current compiler spec didn't. This updates it to be
consistent with the future compiler spec and use the matcher.
(maint) Remove failure for empty generated tags

Commit 0436eb1e0997a6f19ea734923a1b82625a4034f8 added an extra failure
condition for any generated tags that end up being empty strings. This
was to get it to handle that the same way that it handles a simple empty
string tag. However, this could break any installations that generate
"::" separated tags that could create 4 ":" in a row ("a::::b"), and it
also doesn't address enough of the odd tagging behavior to make it worth
it. This commit reverts that change and adds some more tests to cover
some more of the ways in which setting tags behaves.
Merge branch 'pr/2712' into stable

* pr/2712:
  (maint) Remove failure for empty generated tags
  (maint) Update test to use resource matcher
  (PUP-2689) Make AST Resource check tags against "inherited" tags
  (maint) Remove unused Puppet::Parser::AST::Tag class
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (maint) Remove failure for empty generated tags
  (maint) Update test to use resource matcher
  (maint) Add sitemoduledir to env env tests
  (PUP-2689) Make AST Resource check tags against "inherited" tags
  (maint) Remove unused Puppet::Parser::AST::Tag class
(PUP-2583) Fix bad test case in file type mode acceptance test.

The test case was assuming that +X on a file would always set the
requested executable bit.  This is only true if the resource is a
directory and not a file.  For files, there must be an already set
executable bit in the permission for +X to have an effect.

There was a bug in Puppet that was causing this acceptance test to pass
with the incorrect assumption.  That bug was fixed in commit ac2622e8c1
and now the acceptance test needs to be updated for the correct behavior.
(maint) Update docs badge in README

Update the URL of the docs badge to include it from
inch-ci.org instead of inch-pages.github.io (the former
being the successor of the Inch Pages project).
Merge pull request #2733 from rrrene/patch-2

Update docs badge