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.
Fix spec on ruby != (1.9.(2|3)).

On 1.9.2 and 1.9.3, Proc#== briefly attempted
to return true if the procs had the same body.
I was surprised to see this behavior earlier today
when I wrote this spec, and left the spec in place
thinking it must have always been that way but I
just never knew it.

As it turns out, that was only the case on 1.9.2 and 1.9.3
but it was half baked and never worked properly, and
got removed in 2.0:

https://bugs.ruby-lang.org/issues/4559
Merge pull request #27 from rspec/fuzzy-matching-lambdas

Make fuzzy matcher work better with lambdas.