(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-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
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.
Merge pull request #2909 from jpartlow/maint/master/remove-extra-settings-clear-from-specs

Maint/master/remove extra settings clear from specs
Merge branch 'master' of https://github.com/puppetlabs/puppet