(#11276) Tarball entries should be relative to the `pkg` directory

Commit 94f2f0a9 removed the call to `Dir.chdir`, which is necessary so
that entries in the tarball are relative to the `pkg` directory, i.e.
each entry starts with the metadata release_name, which is of the form:

    myuser-mydir-X.Y.Z/

This issue was caught by the `loadable_from_modules` acceptance test as
the newly installed module did not install its metadata in the expected
locations.

This commit restores the `Dir.chdir` behavior and updates the test.
Merge branch 'joshcooper-ticket/master/11276-chdir-fix'

* joshcooper-ticket/master/11276-chdir-fix:
  (#11276) Tarball entries should be relative to the `pkg` directory

closes #1603
(#11276) Tarball entries should be relative to the `pkg` directory

Commit 94f2f0a9 removed the call to `Dir.chdir`, which is necessary so
that entries in the tarball are relative to the `pkg` directory, i.e.
each entry starts with the metadata release_name, which is of the form:

    myuser-mydir-X.Y.Z/

This issue was caught by the `loadable_from_modules` acceptance test as
the newly installed module did not install its metadata in the expected
locations.

This commit restores the `Dir.chdir` behavior and updates the test.
Merge branch 'joshcooper-ticket/stable/11276-chdir-fix' into stable

* joshcooper-ticket/stable/11276-chdir-fix:
  (#11276) Tarball entries should be relative to the `pkg` directory
(maint) Update COMMITTERS with stable and master branch strategy

Without this patch the current branching strategy of creating unique
branches for each minor release requires CI systems be reconfigured for
each new minor release.  This is a problem because it is time consuming,
error prone, and expensive to reconfigure the CI system for each minor
release.  This, in turn, creates a road block to releasing more often.

This patch addresses the problem by documenting and prescribing a new
branching strategy for committers.  The strategy results in branch names
that do not change over time.  The `stable` branch always refers to the
current release which is receiving bug fixes.  The `master` branch
always refers to the next release which is receiving new functionality.

The release branches are no longer direct descendants (fast forwards) of
one another.  Instead, they are independent histories as in the git flow
model.  The security branch is special and receives change sets which
are then rebased and merged into specific branches for the specific
release versions which are affected by the vulnerability.

[ci skip]
Merge branch 'branch_strategy'

* branch_strategy:
  (maint) Update COMMITTERS with stable and master branch strategy

closes #1591
[ci skip]
(maint) Fix puppet module build empty tar issue on Solaris

Without this patch `puppet module build` produces an empty tar file when
run on Solaris.  This is obviously a problem.  The root cause is that
tar defaults to writing the archive to the tape device instead of STDOUT
as was expected.

This patch fixes the problem by explicitly using `tar cf - ...` to write
the archive to STDOUT.

Paired-with: Andrew Parker <andy@puppetlabs.com>
Merge branch 'fix_solaris_module_pack'

* fix_solaris_module_pack:
  (maint) Fix puppet module build empty tar issue on Solaris
  (#11276) Tarball entries should be relative to the `pkg` directory
(maint) Fix failing puppet module build test

cd4d720 fixed the issue with `puppet module build` on Solaris, but did
not update the spec test to reflect the new command being executed.

This patch updates the spec test.
Merge branch 'fix_pmt_build'

* fix_pmt_build:
  (maint) Fix failing puppet module build test
Merge pull request #1602 from Sharpie/20121-fix-suse-chkconfig

(#20121) Invoke chkconfig with --check on SuSE
(#17811) Add test for group name to gid conversion

On OS X, the primary group for a user must be specified as a numeric id and not
a string. There was code to ensure this happens, but it was guarded by a faulty
logic statement and there was no test to catch the bug.
(#17811) Ensure PrimaryGroupID is converted to Int

On OS X, the PrimaryGroupID for a user must be an integer. Ensure this happens
by running `:gid` attributes through `Puppet::Util.gid`.