Add syntax validation and test on more platforms

This patch adds `rake validate` to the Rakefile which will validate
manifests, ruby code, and templates. It also tests against Puppet v2.7,
v3.3, and v3.4 while allowing previously untested versions to fail.
Use specific versions of fixtures

This provides repeatable tests as opposed to testing against HEAD in
remote repo's.