Add define_negated_matcher

This is PR is a result of the discussion and work done on: https://github.com/rspec/rspec-expectations/pull/505#issuecomment-40676532

TODOs:
- [ ] add cuke
- [ ] cleanup negation_spec
- [ ] add proper docs
- [ ] general cleanup

@myronmarston @JonRowe /cc
I thought that we decided not to support this, given that `define_negated_matcher` provides a means to get the description, etc. right?