add chained expectation descriptions to the default descriptions of custom matchers with fluent interfaces

this fixes #532
> I tend to think of "3rd party gems" as referring to gems built by some 3rd party -- that is, not by us (the RSpec team) or by a coworker.  For these sorts of private gems, the users control the source and it seems like much less of an issue to change the code to deal with this (or they can just keep the config option off).

Except these things are usually controlled by the team and not an individual and have to be consistent across projects that may have differing RSpec versions.

> > for RSpec 4, deprecate (or remove?) the option
> We'll probably do what we did for rspec-core's treat_symbols_as_metadata_keys_with_true_values option: make it a no-op in RSpec 4 (and have it print a deprecation warning) and remove it in RSpec 5.

I'd expect us to do a 3.99 > 4 transition this way, rather than stretching it out to two major versions.