(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-431) expanded and improved role support in beaker

- make is possible to use arbitrary role names for most beaker DSL APIs
(QENG-431) expanded and improved role support in beaker (part 2)

- add support for running commands against hosts by name
- add support for arbitrary role methods, like those for built in roles
    eg, on master, "echo hello"
        on myrole, "echo hello"
(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
(GEM) create beaker 1.14.0 gem
Merge pull request #340 from anodelman/make-gem

(GEM) create beaker 1.14.0 gem
(MAINT) Fix multiple dev repo installation case.

Signed-off-by: Wayne <wayne@puppetlabs.com>
Merge pull request #341 from waynr/maint/fix-multi-dev-repo-case

(MAINT) Fix multiple dev repo installation case.
(GEM) create beaker 1.14.1 gem
Merge pull request #237 from anodelman/role-repair

(QENG-431) expanded and improved role support in beaker
Revert "(QENG-431) expanded and improved role support in beaker"
Merge pull request #343 from puppetlabs/revert-237-role-repair

Revert "(QENG-431) expanded and improved role support in beaker"
(MAINT) Fixes `Beaker::DSL::InstallUtils` broken spec.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(MAINT) Add lucid support to platform version codes
Merge pull request #344 from waynr/maint/fix-multi-dev-repo-case

(MAINT) Fixes `Beaker::DSL::InstallUtils` broken spec.
Merge pull request #342 from anodelman/make-gem

(GEM) create beaker 1.14.1 gem
(MAINT) Whitespace for readability