Ensure equality comparisons work for Source objs

Implement functions eql? and hash as they are required for
proper evaluation of functions like uniq.
Fix spelling/grammar
try to coerce semver tags into something we can work with
Merge pull request #72 from wfarr/smarter-v-tags

try to coerce semver tags into something we can work with
Merge pull request #68 from jsjohns/patch-1

Fix spelling/grammar
Make puppet a soft dependency
Support Puppet Enterprise Versions

Couldn't merge @metcalfc's original PR (#58), so recreated here.
Merge pull request #66 from craigtracey/source-comparison

Ensure equality comparisons work for Source objs
Merge pull request #59 from maestrodev/old_puppet

Undefined variable if puppet version is < 2.7.13
0.9.8 release
Convert puppet version requirements

Checks puppet requirement to see if it is pessimistic (1.2.x) or a range
(>=3.0.0 <4.0.0) and converts them to their respective rubygems
requirement (~> 1.2 and ['>= 3.0.0', '<4.0.0'] respectively).
Return the resolved version for git repos

The fetch_version method is supposed to produce the version of the module.
Modifications to git.rb in 44bcd59b altered the return value to (in some cases)
the boolean value of Gem::Version.correct? v
Merge pull request #87 from ecbypi/convert-version-requirements

Convert puppet version requirements to rubygems format
Merge pull request #6 from inkblot/fix-git-fetch-version

Return the resolved version for git repos
Add spec for Issue #6, incorrect parsing of git repo module version
Merge branch 'master' into maestrodev

Conflicts:
	lib/librarian/puppet/source/forge.rb
	lib/librarian/puppet/version.rb
Add puppet as a test dependency for bundler to work
Bump version to 0.9.8.1