Stopping after the first matcher that returns a valid result

The proposed feature allows one to have the following definition of a guard:
```ruby
guard :rspec, first_match: true do
  watch(%r{^lib/awesome_helper\.rb$}) { |m| 'foo.rb' }
  watch(%r{^lib/.+some_helper\.rb$}) { |m| 'bar.rb' }
  watch(%r{^lib/.+_helper\.rb$}) { |m| 'baz.rb' }
end
```
In this case, only the files returned by the first found matcher will be processed. For instance, `lib/handsome_helper.rb` will trigger only `bar.rb`.