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.
This doc string is a bit puzzling -- calling `private_methods` is how the matcher determines if the predicate is private.  Maybe this is better?

``` ruby
it 'does not call :private_methods when the object publicly responds to the message'
```