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.
Updated travis build scripts (from rspec-dev)
Merge pull request #32 from rspec/update-travis-build-scripts-2014-01-24

Updates from rspec-dev (2014-01-24)
Updated travis build scripts (from rspec-dev)
Merge pull request #35 from rspec/update-travis-build-scripts-2014-01-25

Updates from rspec-dev (2014-01-25)
Updated travis build scripts (from rspec-dev)
Merge pull request #37 from rspec/update-travis-build-scripts-2014-02-08-for-master

Updates from rspec-dev (2014-02-08)
Adds VersionChecker
Extracts checking to a method
Adds additional OK test cases
Never returns nil
Nothing is a warning in this code, remove the check
Merge pull request #25 from rspec/version_checker

Adds VersionChecker
Switch to `skip`.

`pending` expects an error, otherwise it'll fail
the example to notify the user the pending spec
is passing now.
Updated travis build scripts (from rspec-dev)
Merge pull request #39 from rspec/update-travis-build-scripts-2014-02-12-for-master

Updates from rspec-dev (2014-02-12)
Update changelog for 3.0.0.beta2 release. [ci skip]
Release 3.0.0.beta2