Removing explicit checking of object's private methods

This PR changes predicate matcher behavior to no longer inspect an object's private methods using a call to `private_methods`. Calling `respond_to?(:method, false)` should exclude private methods from searching. This does reduce verbosity when reporting on expectation failures; however, this will correct an issue by which RSpec causes side-effect errors when trying to call a predicate.
As above I'd prefer to restore this, especially since this is a documented feature see: [features/built_in_matchers/predicates.feature:141](https://github.com/rspec/rspec-expectations/blob/0ee6263224d6f8a79907bf7c98d3eabc13767bcb/features/built_in_matchers/predicates.feature#L141)