Remove extra blank line from seed output.

The seed output had two new lines, which worked well
at the end (since we want a blank line after our
output) but it looked funny for the new seed notification
at the start.
Merge pull request #1768 from rspec/remove-extra-blank-line-from-output

Remove extra blank line from seed output.
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
Fix an exception when the DeprecationFormatter is initialized with an IO stream that doesn't respond to :path.
Merge pull request #1757 from GoBoundless/undefined_method_path_master

Fix an exception when the DeprecationFormatter is initialized with an IO stream that doesn't respond to :path.
changelog for #1757
[skip ci]
Refactor how context hooks get run.

- Move `descendant_filtered_examples.empty?` check
  out into the `run` method.
- This allows us to only create the instances for
  the context hooks if we need to actually run the
  hooks.
- Move `before_context_ivars.clear` into
  `run_after_context_hooks`. This gives it
  parity with `run_before_context_hooks`.
Remove unneeded layer of indirection.
Fix doc string.
Apply module inclusion to individual examples when filtered.

Previously it only applied to filtered groups. Luckily,
ruby’s object model supports this very easily through
the use of singleton classes.
Refactor configuration module implementation.

When configuring an example, we only want to include
modules (extending one would not make sense), so this
refactoring allows us to skip that part.
Ensure shared contexts applied to one example have their hooks run.
Got things to work on 1.8.7.
Run `:context` hooks from shared contexts that apply to one example.
Refactor: extract `config.with_suite_hooks` method.

The runner has no business understanding the details
of running the config object’s :suite hooks.