3.1.0 release.
Bump version to 3.2.0.pre.
Add a sketch implementation of args diffing

Related #434. This uses the differ that is now in RSpec support to
perform argument diffing when arguments don't match.

Things worth noting/still to do:

* Special case behaviour needs to be added for the no arguments matcher
  and the any arguments matcher, at the moment something like this:
       @@ -1,2 +1,2 @@
       -[#<RSpec::Mocks::ArgumentMatchers::NoArgsMatcher:0x000001024ec728>]
       +[{:bees=>:foo}]
  gets printed, and that's obviously not great.
* Need to work out what to do in the "similar args" case where there are
  potientially multiple calls. I think the best thing to do would be to
  would be to only diff if there's one call.

There's some refactoring that could be done here but I want to finish
implementing the "similar args" implementation before I do that so that
I'm sure that I'm refactoring the right thing.
Add diff-lcs as a runtime dependency of RSpec Mocks
Support coloring
Add some specs for the differ
Use hash inspect to get ordering correct
Prefer Support.is_a_matcher? for matcher checking.

Replaces respond_to?(:description) as some domain objects may respond to
description.
Don't leak diffing details into double_spec
Use is_a_matcher? to decide if #description is used in error output
Fix rubocop violations
Use arg_has_valid_description consistently in error_generator
Spec cleanup for diffing