(PUP-2010) have test repos pushed to hosts during acceptance testing

This patch changes the logic of how test packages are installed on SUTs.
Currently, repo packages are pulled by the individual SUTs - this works
because we assume that the SUTs are located within the Puppet Labs
network and can access builds.puppetlabs.lan. To run acceptance tests
in the cloud the workflow needs to be changed to have the test packages
pushed to the SUTs by the jenkins master node.

Tested successfully on jenkins, also updated spec tests.

This code relies on Beaker 1.8+ DSL methods.
Merge pull request #2456 from anodelman/stable

(PUP-2010) have test repos pushed to hosts during acceptance testing
(PUP-2484) Revert to merging Modulefile and metadata.json in PMT build.

Previously, if you tried to build a module that contained both a
Modulefile and a metadata.json file, the behavior of the build action
was to ignore the Modulefile and simply use the metadata.json as is.

This represented a change in behavior from earlier, where we would merge
the contents of those two files. While this is in keeping with the
direction the tool is moving, there is a small subset of users who would
be negatively impacted by the sudden change in behavior. For this reason
we are reverting to the original behavior and passing it through a
proper deprecation cycle.
(PUP-2484) Ensure that Modulefile dependencies are properly serialized.

Prior to this change, dependencies expressed in the Modulefile were
incorrectly being coerced to Strings before being serialized to JSON; a
change which seems to have been accidentally precipitated by our
migration away from PSON.

This change restores the intended behavior, serializing the dependencies
to JSON in the same way they used to.
Merge pull request #2619 from pvande/bug/stable/pup2484_revert_pmt_build_with_both_metadata_sources

(PUP-2484) Revert to merging Modulefile and metadata.json in PMT build.
Merge branch 'stable'