Move protocol tests to beaker suite

The protocol tests are more closely aligned with the rest of the beaker test
suite. The beaker tests have received more vetting, so the setup and teardown
process should be less prone to failure on repeated execution.
Merge pull request #144 from johnduarte/move_protocol_tests_to_beaker

Move protocol tests to beaker suite
Un-optional the non-optional commands.
Merge pull request #146 from daenney/mv-optional-commands

Un-optional the non-optional commands.
Update specs and fix FM-1361

- Add install.rb for pre-suite
- Add catches for failures/changes to manifest application
- Correct root ssh key copying
- Add sleeps for killing processes releasing ports
- Fix FM-1361
Merge pull request #145 from hunner/fix_beaker_tests

Update specs and fix FM-1361
Adjust Rake tasks for beaker testing

Adjust Rake tasks for testing beaker-rspec suite, beaker suite,
and both in combination.

The beaker hosts config file is set via the BEAKER_setfile
environmental variable. The hosts defined within this file
supersede the host past in as an argument, but the argument is
still required. For an arbitrary hosts config file this provides
the following options.

1. Run the beaker-rspec test suite
    BEAKER_setfile=/path/to/my_hosts.cfg rake beaker:rspec:test[foo,pe]

2. Run the beaker test suite
    BEAKER_setfile=/path/to/my_hosts.cfg rake beaker:test[foo,pe]

3. Run both beaker-rspec and beaker test suites
    BEAKER_setfile=/path/to/my_hosts.cfg rake beaker:test:all[foo,pe]
Set git bare with revision test to fail

When the revision attribute is defined in conjunction with the bare
attribute when using the git provider, the repo should fail to be
written to disk.

See: FM-1361
Merge pull request #147 from johnduarte/beaker_raketasks

Adjust Rake tasks for beaker testing
Merge pull request #148 from johnduarte/bare_with_revision_should_fail

Set git bare with revision test to fail
Add optional keyfile argument to rake tasks

This addition walks over any extra arguments provided to the
rake task. If the file is a key file, it is used to set the
BEAKER_keyfile ENVIRONMENT variable for beaker-rspec and/or
the `--keyfile` command line argument for beaker as needed.

Example:

BEAKER_setfile=../vcenterhost.cfg rake beaker:rspec:test[foo,pe,'/home/myuser/.ssh/id_rsa-secret']
Update tests for ubuntu 14.04

In ubuntu 14.04 git 1.9.1 is the default version, and 1.9+ fatally fail
if the user.email and user.name are not set (previously it would just
warn). This commit sets those up so the tests will actually run.
Merge pull request #151 from hunner/fix_trusty

Update tests for ubuntu 14.04
Fix logic to validate keyfile
Merge pull request #150 from johnduarte/rake_keyfile

Add optional keyfile argument to rake tasks