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