Overhaul the spec tests to work in rspec2.

This work gets rid of the provider_example_group and reworks everything
to work properly against rspec2.  I don't know if I'd consider the style
"better" but it works.
Add test for latest?

Also add some fixtures for previous tests.
Add latest tests.
Add tests for convert_working_copy_to_bare and
convert_bare_to_working_copy
Add convert_working_copy_to_bear and convert_bare_to_working_copy tests.
Modifications to .travis.yml to test appropriately.
Merge pull request #93 from apenney/coverage

Move from rspec1 to rspec2
Merge pull request #95 from apenney/metadata

FM-103: Add metadata.json to all modules.
FM-103: Add metadata.json to all modules.
Add a blank dependencies section and stringify versions.
Merge pull request #96 from apenney/metadata

Add a blank dependencies section and stringify versions.
Add autorequire for Package['git']

If the git package is being managed, it stands to reason that the git
package should be installed before trying to potentially manage git
repositories using vcsrepo resources.

This commit adds an autorequire to the vcsrepo type that reflects the
above premise.
Merge pull request #98 from reidmv/autorequire_git

Add autorequire for Package['git']
Prepare 0.2.0 release.
Merge pull request #102 from apenney/020-release

Prepare 0.2.0 release.
Don't 'su' if passed user is current user
origin/HEAD is not valid; use origin/master for latest when branch == 'master'
Using rev-parse to determine branch name of HEAD for on_branch? method
Merge pull request #106 from mikegerwitz/master

Correctly handle detached head for 'latest' on latest Git versions
Stripping git on_branch? return value; contains trailing newline

This commit also contains git provider `latest' method formatting changes;
squashed by request.