Fix case where allow_value matcher ignores some values

This fixes #343

When using `#should`:
```
# This passes (everything ok)
validating_format(:with => /abc/).
  should allow_value('abc').for(:attr)

# This fails (everything ok)
validating_format(:with => /abc/).
  should allow_value('bcd').for(:attr)

# This fails (everything ok)
validating_format(:with => /abc/).
  should allow_value('abc', 'bcd').for(:attr)
```

But when using `#should_not`:
```
# This passes (everything ok)
validating_format(:with => /abc/).
  should_not allow_value('bcd').for(:attr)

# This fails (everything ok)
validating_format(:with => /abc/).
  should_not allow_value('abc').for(:attr)

# This passes (it shouldn't because of the last value)
validating_format(:with => /abc/).
  should_not allow_value('bcd', 'abc').for(:attr)
```

My pull request fixes the last case.