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

this fixes #532
> 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.

At worse, users will get slightly convoluted descriptions or failure messages (e.g. where the chained part is included twice), so I'm not really worried about it.

> I'd expect us to do a 3.99 > 4 transition this way, rather than stretching it out to two major versions.

Let's figure this out when that time comes, but I think 3.99 will have to instruct users to enable the config (since it'll be always enabled in 4.0 with no way to disable it), which means that 4.0 will still have to have it (but i'll do nothing but warn that it is a no-op).  This is why we still have `treat_symbols_as_metadata_keys_with_true_values` in 3.0 (even though it is a no-op)....we couldn't remove it in 3.0 because 2.99 told users to enable it in order to prepare for the upgrade.