Support latest puppet versions

A bunch of changes to improve tests and fix templates for 3.0
- Refactor `instace_spec` to always provide `osfamily`
- Add newer versions of puppet to the travis build matrix
- Rename `include_class` to `contain_class`
- Add `puppet-syntax`
- Fix template warnings in puppet 3.0