Fix regexp warnings on 1.8.7.

./spec/rspec/mocks/argument_matchers_spec.rb:277: warning: regexp has invalid interval
./spec/rspec/mocks/argument_matchers_spec.rb:277: warning: regexp has `}' without escape
./spec/rspec/mocks/argument_matchers_spec.rb:284: warning: regexp has invalid interval
./spec/rspec/mocks/argument_matchers_spec.rb:284: warning: regexp has `}' without escape
Merge pull request #785 from rspec/fix-regexp-warnings-on-1.8.7

Fix regexp warnings on 1.8.7.
Skip spec warnings spec on 1.9.2.

We load psych and syck and they trigger warnings.
Forwardport 3.1.1 release notes.

[ci skip]
Use is_a_matcher? in arg_has_valid_description

This fixes #685. It means that we only print descriptions in errors for
matcher objects and not for user objects.
Implement diffing between args for mock expectations.
Add a changelog entry for #751