add option to fail on missing files

Originally authored by @johnhunter, this PR adds an option to fail the task if the source pattern matches missing files.

I've been using this fork for some time now, and to help this get merged, I spent a bit of time on the tests so that they always set grunt --force and thereby can actually verify that failOnMissing works as expected.

Issue #17 had some discussion on the relative pros / cons of this approach. Though I agree that adding yet another option for this is less than ideal, I think that until some other solution exists, it would be better to have this option for those of us who would like to take advantage of it.