(PUP-2432) Simplify spec_helper in module skeleton
(PUP-2871) Add :install_options and :uninstall_options to the pacman provider

Without this patch, a user unfamiliar with the pacman provider might write
attempt to add flags to install and uninstall, not knowing that they will fail.
This patch adds support for these two flags to ensure a more cohesive experience
across puppet.
(maint) Add test to ensure upstart is default init daemon in Ubuntu
(PUP-2936) Fix checksum during PMT build

Prior to this commit `puppet module build` was checksumming the source directory
and putting that in checksums.json.
This commit corrects that behavior so it checksums the built module instead.
(PUP-2936) Add warning for 'checksums'

This commit adds a warning to `puppet module build` when it finds a 'checksums'
field in metadata.json. This was done to make people aware of the fact the field
is deprecated and will not be used by the builder, although the installer/upgrader
and other module tools will use the field if checksums.json is not present.
Merge pull request #2897 from highb/fix/stable/pup-2936_pmt_checksums

(PUP-2936) Fix checksum during PMT build (stable branch)
(PUP-2757) Check for env change before updating Configurer context

Previous work on PUP-2757 ensured that resource references would use the
current environment and that agent runs would use a correctly
initialized 'remote' reference environment, but, ironically, Charlie
Sharpsteen found that the fixes for agent runs re-introduced the
duplication of initial environment import in the Puppet apply case.
Removing that duplication of effort was the reason for the initial
change.

This commit tests whether the environment has changed, which it should
only do in the agent case, and, if not, pushes the original env onto the
context stack.  We push regardless, so that we don't have to guard the
corresponding pop.
(PUP-2882) Detect when module is not on forge

Prior to this commit it was unclear when upgrading a module not found on the forge
wether there was no available upgrades on the forge or the module was simply not
on the forge.
This commit adds a check before even attempting graph/dependency resolution to
see if the module exists on the forge and quits if it is not.
(maint) enable 'add_el_extras' for Beaker

Internally, we removed EPEL repos from our acceptance VM templates.
We found that, for our testing to be successful, we have a package
or two that comes from EPEL. This commit sets 'add_el_extras' to 'true'
so that Beaker can setup the EPEL repos on a SUT.
Merge pull request #2906 from rji/maint/stable/add_el_extras

(maint) enable 'add_el_extras' for Beaker
(maint) Remove pending face specs

The certificate_request, certificate_revocation_list, key, report,
resource, and resource_type faces were added years ago and the tests have
always been pending. Since we've been ignoring those pending tests up to
this point the warnings are clearly not adding value; let's just get rid
of them.
Merge branch 'stable'
(maint) Never load facts when testing static compiler
(maint) Fix spec order issue for Travis CI.

Because of the order Travis runs specs, some environment caching issues
were found that caused some specs to fail because they made the
assumption that the production environment wasn't already in the cache.
Thus, they relied on changing Puppet[:modulepath] to have an effect.

The fix is to override the environments for these two
specs and return an environment we know has the expected module path.
(maint) Remove unnecessary Puppet.settings.clear calls from specs

I believe most of these predated our clearing the settings before each
test in the central puppet/test/test_helper.rb. And since we then set
some base settings (such as :environment_timeout) in the test_helper,
the effect of a secondary clear in the test itself is to wipe out the
baseline setup test_helper just laid down.

In particular this is a problem with environment_timeout, as it leads to
tests which end up creating environments, getting them cached with the
default 180s timeout, which can leak to subsequent tests and create
unpleasant spec order issues.
Merge pull request #2904 from highb/fix/master/pup-2882_fix_only_local_version

PUP-2882 Fix upgrade behavior
(doc) Note how to obtain spec_order from parallel-spec runs

Courtesy of Peter Huene.
Merge branch 'maint/stable/static-compiler-loadfacts' into stable
Merge branch 'stable'
Merge pull request #2908 from peterhuene/maint/spec_order

(maint) Fix spec order issue for Travis CI.