Fix bug in filter code that caused Rubinius failures

Although this was fixed in commit bc7c532c5 (by forcing the values to be
Strings if they are Symbols), this commit fixes the underlying problem.

The real bug was in allowing the Symbol `:all` to remain in the Regexp
list when it is not needed. The `:all` and `:none` modes don't use a Regexp
and so @rex is now set to nil in those cases.