Make fuzzy matcher work better with lambdas.

On 1.9+, `Proc#===` calls the proc or lambda. If the
lambda does not accept 1 arg it raises an ArgumentError
from `expected === actual`, so we put the `==` check first
(to handle the case where it's the same lambda -- it can
early exit with `true`) and rescue ArgumentError.