Better checks for manifest application status

On trying these tests for the first time, starting a non-existent
service causes puppet to display errors, but still return 0 - thereby
generating a false positive in the test run.

I've adapted this template to use the catch_failures and catch_changes
options which I think is a better example to follow.
README typo and style changes

- Removes whitespace
- Adds backticks to dir (controversial!)
- Fixes typo ('The' > 'Then')
Update metadata.json.erb
Fix variable name
Also test things with strict_variables.

strict_variables = true in puppet.conf is awesome, as it
stops you being able to typo variable names accidentally.

However, a lot of forge modules are not strict compliant.

Lets, by default test everything with strict variables true
as an option. I just _always_ set this, rather than multiply
the number of builds we run.