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.
Refactor: extract :suite hook specs into their own file.

This includes new spec coverage for `append_after(:suite)`
and `prepend_before(:suite)`.

Also, only reference these hooks on the config object.
I plan to remove them from the `Hooks` module since they
are not general purpose hooks.
Refactor: handle :suite hooks within configuration.

...rather than delegating it to the Hooks module.

This will allow us to remove :suite support from the
hooks module, since it’s not something that is
generally supported in other hook contexts.
Explicitly ignore :suite hooks from Hooks module.

The Configuration class now handles these and it’s
the only place they are supported.

This allows us to reduce object allocations a bit,
and also clarifies the semantics of :suite hooks.