Add acceptance tests for git protocols using clone

The git_clone_protocols_spec.rb will be used to enumerate over the
available protocols for git to use to clone to disk. Support
key files are also included for https/ssl use.

Protocols tested

    * file protocol (raw filepath)
    * file protocol (file://)
    * git protocol (git://)
    * http protocol (http://)
    * https protocol (https://)
    * ssh protocol (ssh://user@host)

TODO: Currently, the ssl cert is not added to the CA on the host.
This causes the git clone to fail because the cert is not trusted
and the client does not proceed with a non-trusted ssl connection.
Change apply syntax to apply_manifest_on
Use on(host, '') rather than host.execute('') syntax
Add test for ensure latest with branch specified
Fix detached head state
update to use -a and desired for hard reset
Fix spec tests
Added multiline parsing tests for branch -a
Add spec for clone protocols skeleton

The git_clone_protocols_spec.rb will be used to enumerate over the
available protocols for git to use to clone to disk. The initial
skeleton includes the 'file://' protocol test as well as support
key files to be used later.
Add test for clone using git protocol
Add test for git clone using file path
Move git daemon setup/teardown into context block

In order to ensure that the git daemon is running for the proper test, the setup
and teardown calls for git daemon hav been moved into the context block for
testing the git protocol.
Add managehome to testuser

In order to make sure that the home directory for the test user is
created and destroyed, add managehome to the setup and teardown
manifests for the testuser.
Add test for git clone using http
Add test for git clone using https
Add test for git clone using ssh
Change apply syntax to apply_manifest_on
Use on(host, '') rather than host.execute('') syntax
Add beaker tests for git clone
Add beaker tests for git create