Extract expectations differ to support

This was done to support rspec/rspec-mocks#434.

There's still a few things I need to do, but I wanted to get this out there.

- [ ] Document the new public interface for the differ.
- [ ] Rename DiffPresenter as discussed in the comments here: https://github.com/rspec/rspec-mocks/issues/434#issuecomment-31619252