Execute pending examples and mark as failed if they succeed.

This is a backwards incompatible change that makes the behaviour of
pending consisent with the current behaviour for when it is called
inside an example with a block.

The old "never run this example" behaviour is still available via the
"x" family of methods, the `:skip` metadata option, or the new `skip`
method.

Implements #1208.
Bunch up delegate_to_metadata for style reasons.
Split pending and skipped features.
Switch on pending_message rather than pending_fixed, easier to follow.
Remove set_message from DSL.
Re-shuffle skip method for readability.
Spec coverage for pending/skip with metadata.
Pending block no longer marks the example as pending.

This is more consistent behaviour, since you can have other code after
the pending block that may not be pending which can either pass or fail.
Update changelog.
Clean up
Fix up some of the generated HTML.
Implement skip with block.
Justify pending behaviour with mocks expectations.
Fix up features.
Remove pending with a block feature.
Doc for skip