(QE-602) Beaker Throws Fatal Error when Displaying Current Version

- just don't do a gemspec load when looking for the version number, thus
  it doesn't end up calling git-ls, thus no fatal errors
(PE-2586) Support using frictionless install for upgrades

We now only use frictionless install for versions that support it. This
way we can test frictionless upgrade (which is identical to install)
from non-frictionless installs of older versions, while also testing it
from frictionless installs for versions that support it.
(QA-747) Log the amount of time each command takes to execute

Previously, there was no way to tell how long each beaker command took
to execute on a remote VM. I would like to know this information to
track down a timing issue in acceptance testing on Windows.

This commit modifies the host object to log timing information when
beaker is run in debug mode. It uses the same logging prefix as is used
when displaying the executed command, e.g.

    a4e5hyo2m0ooom1 (master) $  cp /etc/puppet/puppet.conf ...
    a4e5hyo2m0ooom1 (master) executed in 0.01 seconds
Correct specs for QA-753
Add forgeapi stub to support forge api v3

Version 3 of the forge api will have a canonical source at
forgeapi.puppetlabs.com.

This patch adds this source as a source for the forge stub so
that beaker can set the environemnt to respond correctly for both
version 1 and version 3 of the api.
Merge pull request #116 from hunner/fix_tarball_dl

Correct specs for QA-753
Provide way to install from public repos

This commit adds an `install_puppet` DSL method that may be used to
simply add the public Puppet Labs repositories and install puppet.
Merge pull request #97 from anodelman/fix-fatal-errors

(QE-602) Beaker Throws Fatal Error when Displaying Current Version
create beaker 1.3.2 gem
Merge pull request #118 from anodelman/make-gem

create beaker 1.3.2 gem
Merge pull request #114 from joshcooper/issue/master/QA747-Add-timing-info

(QA-747) Log the amount of time each command takes to execute
Merge pull request #108 from hunner/install_puppet

(QA-720) Provide way to install from public repos
Merge pull request #112 from nicklewis/upgrade-frictionless-agents

(PE-2586) Support using frictionless install for upgrades
Add :expect_changes to apply_manifest_on()
cut a beaker 1.4.0 beaker gem
(PE-2627) Use generic install.bash to install frictionless agents

Rather than use a platform-specific script, we now have a generic
install.bash script which can be used to install agents of any platform.
Because install.bash downloads the platform-specific script, using it
effectively tests the correctness of both scripts.
Merge pull request #121 from nicklewis/PE-2627-use-agent-install.bash

(PE-2627) Use generic install.bash to install frictionless agents
Merge pull request #120 from anodelman/make-gem

cut a beaker 1.4.0 beaker gem
Merge pull request #119 from hunner/expect_changes

Add :expect_changes to apply_manifest_on()
(QA-753) Make sure to still support saving MSIs locally

The initial commit for QA-753 didn't account for the MSI case, which
still requires saving the .msi file locally. This adds a save_locally
option to the cURL command line, based on whether we're fetch an msi.