Deprecates the have, have_at_least, have_at_most matchers

As planned for the RSpec 3.0 release, the `have`, `have_at_least` and `have_at_most` matchers aren't going to be part of the default RSpec matchers set. So, that PR deprecates those matchers.

This PR is related to https://github.com/rspec/rspec-expectations/issues/307

- [x] move the deprecations to the have matcher
- [x] print smart deprecation messages
- [x] do not print deprecations if the the rspec-collection_matchers gem is being used
- [x] refactor code following Myron's suggestions