(QENG-715) Add `install_dev_repo` to Beaker DSL

This is a "push" style method of installing a dev repo from
builds.puppetlabs.lan by first downloading to a directory on the local machine
then pushing to the appropriate configuration directory on the remote machine.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QENG-715) Copy methods over from puppet acceptance lib.

Copy `fetch`, `fetch_remote_dir`, and `install_repos_on` from puppet accentance
testing library since this functionality is actually useful on pretty much all
projects using Beaker. Still needs to be cleaned up and tuned to work in this
context.

(QENG-715) Minor code cleanup.

Matches when/case indentation levels.

(QENG-715) Use new `Beaker::Platform.to_array` method.

This method simplifies the logic by highlighting through semantics the
difference between `version` and `codename`.

(QENG-715) Remove hard-coded URIs.

Grab URIs from options presets instead of hard-coding. Do this for development
builds repositories, apt repositories, and yum repositories.

(QENG-715) Add `:dev_builds_url` to Beaker presets.

Use this in `Beaker::DSL::InstallUtils.install_repos_on`.

Also renames soem variables and standardize on how to populate a string pattern
with variables since the last couple commits were injecting variables directly
into the string.

(QENG-715) Separate release repo installation step.

Some pre_suites may only want to install the release repository.

(QENG-715) Clean up `install_release_repo`

Since we are installing a public repository we don't need to go through the
intermediate fetch step.

(QENG-715) Minor bug fix and code cleanup.

Don't scp files to a directory then move them to another directory in a later
step, instead copy them directly to their intended target directory.

Also fix some typos, bugs, and other miscellany.

(QENG-715) Break find-and-sed into smaller exprs.

(QENG-715) Raise RuntimeError instead of log message.

(QENG-715) Remove extraneous SUT commands.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QENG-715) Add yard docs.

(QENG-715) Add new rspec tests.

(QENG-715) Give methods less generic names.

As pointed out in PR review, the use cases for these methods are pretty specific
and their names ought to reflect that specificity.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QENG-715) Remove old `install_dev_repo`

This method, rather than pushing repos to the SUT, has it pull from puppet labs
internal repository. This is deprecated by the newer
`Beaker::DSL::InstallUtils.install_dev_repo` which uses a push method.

Signed-off-by: Wayne <wayne@puppetlabs.com>
Merge pull request #322 from waynr/feature/install-dev-release-repos

(QENG-715) Add `install_dev_repo` to Beaker DSL