Check for proper attribute-setting in AllowValueMatcher and use DisallowValueMatcher

There was an issue where if an attribute is of integer type and we set it using a string (like when we test for disallowing of `ARBITRARY_OUTSIDE_STRING`), the attribute will actually be set to 0 instead. Consequently, this causes issues for when we actually want to allow 0.