Undefined variable if puppet version is < 2.7.13
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