Specify relationship of `after` hooks and mock verification.

While it’s not recommended to rely on this behavior
(it's pretty weird to satisfy a mock expectation
in an `after` hook...), this is consistent with how
we treat `after` hooks: we don't set the example's
`execution_status` until after the `after` hooks run
because if an error happens in them we need to set
the examples's status to `:failed`. Thus, we should
not verify mock expectations until after `after` hooks
since the example has not fully completed until
those hooks have run.

This clarifies the behavior in question in #1769.
Clarify relationship of `after` hook errors and generated descriptions.

Errors in `after` hooks should not prevent generated
descriptions from being assigned. I thought that
there was a bug here based on the `rescue` clause
as it looked like errors in `after` hooks would bypass
the generated description assignment, but `hooks.run`
internally rescues errors so the rescue clause is never
reached. The spec still has value in specifying an
under-specified area.
Surface matcher.description errors in generated doc string.

This is better than printing it to the console
when it occurs.
Don't consider `after` hook expectations for generated descriptions.

Otherwise, in an example like this:

  RSpec.describe SomeClass do
    it { is_expected.to do_x }
    it { is_expected.to do_y }

    after { expect(foo).to satisfy_some_invariant }
  end

...each example would get the "should satisfy some invariant"
doc string, rather than "should do x" and "should do y."
Add changelog entries.
Merge pull request #1771 from rspec/address-after-hook-issues

Address after hook issues