Fixes #179: Check that attributes are set properly when testing for matches

* AllowValueMatcher's `matches?` should check that the attribute was actually set to the value passed to it
Replace instance variables in AllowValueMatcher