add failHard option; fixes #21

Adds `options.failHard`, which lets the task validate all files but fails the task *at the end of the task's run* if there were any validation errors.
We would like to use this option over at Bootstrap for our automated Travis builds.
Fixes #21 and https://github.com/twbs/bootstrap/issues/11876.