With the deprecation of "should_allow_values_for" there is currently no clean
way to specify multiple allowed (or forbidden) values for an attribute in a
single assertion. This can make test cases unnecessarily verbose.
This patch gives AllowValueMatcher the ability to take multiple values. The new
matcher is fully downward compatible (i.e. given a single argument it behaves
identically to the old matcher).
This matcher will stop checking for bad values when the first bad value is
encountered.
For example, floating point attributes won't respond to #next, so in
this case fall back to adding 1. This is not perfect, but it seems
to rarely occur in practice since I wasn't able to find anyone else
complaining about it.