Test against mutliple Ruby/Puppet versions

This overrides the gemspec if a `PUPPET_VERSION` environment variable is
present. As set by TravisCI. The last entry in the matrix will test against
the latest stable version of Puppet, but will not fail the build. It should
act as a canary for breaking changes.
Escape curly-bracket within test regex

Highlighted by Ruby 1.8.7 which raises this warning:

manifests_spec.rb:22: warning: regexp has `}' without escape
manifests_spec.rb:53: warning: regexp has `}' without escape