Improve failure messages from compound matchers.

The new formatting handles multiline failure
messages much better.
Make all matchers support compound expressions.
Move the definition of `===` into the `Composable` mixin.
Implement descriptions for compound matchers.
Add specs showing how you can chain many matchers together.
Improve the error message for negated compound matcher use.
Improve compound_expectations cuke.
Remove specs that do not provide much value.

The compound matcher logic is fully exercised by other specs.