treat `notfound` as an error if it applies to an explicitly-specified script

The current hook prints a warning if a script does not exist but does not prevent the commit from happening.

This makes sense if the script that is not found is one of the default `validate` or `test` scripts added when one does not specify what scripts should be run by the hook.

However, if you explicitly specify `foo` and `scripts.foo` is something that does not exist, this should (IMO, anyway) be an error.

So, that's what this PR does.