Add all matcher
Merge pull request #491 from yelled3/add_all_matcher

Add all matcher [DONE]
Cleanup `all` matcher cuke a bit.

- It doesn't use `all?`; it just needs an be enumerable.
- We don't need so many failed examples, and they certainly
  don't need comments.
- For compound matchers it reads best to use the base
  matcher (e.g. `start_with`) rather than an alias
  (`starting_with`).
Cleanup changelog entry.

- It had an example of the negated matcher operator
  that Adam was working on in another PR. It
  doesn't belong here.
- Keep the changelog entry simple: just show a
  simple example, not a compound example.
Cleanup `all` YARD docs.

- No, it doesn't work for strings (and I don't see a point
  in it for a string).
- We specifically don't support `not_to all`, so we shouldn't
  include an example of that.
- Clarify notes.
Merge pull request #528 from rspec/all-matcher-improvements

All matcher improvements
`have` predicate matchers fail when mapped to a private method
change type check for 1.8.7 support
rename method for accessible predicate for be and have predicates
rephrase message for be and have predicates when a private method is called
Merge pull request #531 from Adrian2112/master

`have` predicate matchers fail when mapped to a private method
Changelog for #531
[skip ci]
Refactor: one less method call per expectation expression.
Add `supports_block_expectations?` to matcher protocol.

This is used to give users a clear error when they
wrongly use a value matcher against a block, expecting
it to match against the return value of the block:

expect { 3 }.to eq(3)
Add shared example enforcing usage in a composed matcher expression.
Fail gracefully when a block matcher is not given a block.

Fixes #526.
Test negation in the shared examples as well.
Merge pull request #530 from rspec/block-matcher-clarification

Give users an error when they use a value matcher in a block expectation expression
Add Boolean AND, OR operators (&, |)
Merge pull request #537 from yelled3/boolean_and_or_operators

Add Boolean AND, OR operators (&, |)