Add two checkers for Puppet's DSL

The first checker, `puppet-parser`, uses puppet's own `puppet parser
validate` command to check syntax. The second checker,
`puppet-puppet-lint`, is chained to the first and uses the
`puppet-lint` program to check adherence to the Puppet style
guidelines.

Add four new unit tests to test single line and multiline error
patterns from `puppet-parser`, and to test ERROR and WARNING error
patterns from `puppet-puppet-lint`.

Update the Vagrant provisioning script to install puppet.