Extract differ to support

This was done to support rspec/rspec-mocks#434 and depends on rspec/rspec-support#36.

I'm not extremely happy with the way I did the `fail_with` tests that call the differ in support, but I wasn't sure if testing that the proper options were passed vs testing the actual integration with the differ was preferred: https://github.com/phiggins/rspec-expectations/blob/a3c1888b92b82456d166b9c39255f605a8261d2f/spec/rspec/expectations/fail_with_spec.rb