When generating failure message, don't use description if nil or empty
Blocks provided to `with` are used as implementation.

It is confusing to have different behaviour depending on whether the
block has arguments or not, and there are better ways to do this.

This behaviour matches that of other message expectations.
Merge pull request #426 from rspec/issue-377

Blocks provided to `with` are used as implementation.
Don't define helper methods on `main`.

This adds it to _every_ object, which we don't want.
Merge pull request #417 from nddeluca/check-for-valid-arg-description

When generating a failure message for expected args, don't use description if nil or empty
Add changelog entry for #417.

[ci skip]
deprecation and warning reworking
warn when overriding an implementation block
unify warning files and match core
Merge pull request #382 from rspec/warn_when_overriding_implementation

Don't silently ignore arbitrary method expectations when combining them with 'and_call_original'
Update cukes to new syntax
Merge pull request #427 from benmoss/update_features_expect_syntax

Update cukes to new syntax
allow matchers to be chained off do...end blocks
Merge pull request #428 from rspec/handle_receive_do_end_block_chaining

Allow chaining receive modifications off do..end blocks
changelog for #428
Merge remote-tracking branch 'origin/master' into issue_393_revisited

Conflicts:
	spec/rspec/mocks/verifying_message_expecation_spec.rb
Address some small code review comment suggestions