(pup-1825) Allow use of facter 2.x

Before this commit, Puppet uses pessimistic versioning
(the ~> syntax) to specify that it could work with any Facter
version in the 1.x series greater than some minimum, but
was pessimistic about (i.e. didn't assume it supported) a 2.x
Facter.

In fact, the facter API to puppet has not changed in facter 2.x
so puppet can in fact work with a suitable 1.x or any 2.x. This
change replaces use of the pessimistic operator with explicit
version ranges, effectively extending the range previously provided
by the pessmistic operator to include the 2.x series.
Merge pull request #2402 from kylog/issue/pup-1825/allow-use-of-facter-2

(pup-1825) Allow use of facter 2.x