deprecate stub!
deprecate unstub!
Merge pull request #242 from JonRowe/deprectate_stub_bang_and_unstub_bang

Deprecate #stub! and #unstub!
This is a bug fix, not a deprecation.

[ci skip]
Changelog entry for #242.

[ci skip]
Remove redundancy from doc string.
Add a spec that helps us limit the number of methods added to all objects.
Move `stub_chain` functionality out of `RSpec::Mocks::Methods`

...while maintaining the same API.

This allows us to remove the `format_chain` method from every object and
begins to prepare us for the future addition of a new expect-based syntax
to rspec-mocks (#153).
cleanup stray whitespace
pass through arguments to @implementation as is
Merge pull request #244 from JonRowe/cleanup_whitespace

Cleanup stray whitespace
fix style issues
Merge pull request #245 from JonRowe/call_original_args

Make and_call_original raise ArgumentErrors when arguments passed to methods with no arguments
Changelog for #245.

[ci skip]
Fix 1.9.2 bug with wrapping doubles in arrays
update change log
Merge pull request #247 from JonRowe/double_array_bug

Fix a bug which prevented doubles being wrapped in an Array
Clarify changelog entry.

Seems important to mention it was a problem with `Array(double)` but
not with `[double]`.
Merge branch 'master' into thoughtbot-jf-jq-spies

Conflicts:
	lib/rspec/mocks/framework.rb
Refactor specs to use public instead of private APIs.

- Just use the have_received matcher directly as its intended
  to be used, rather than invoking `matches?`, `does_not_match?`,
  etc. directly.
- Don't test `__mock_expectation` directly. I'm planning to refactor
  things to remove this method, anyway.
- Going through this exercise surfaced a few issues:
  - The failure messages when `with`, `at_least` or `at_most`
    constraints are used are quite confusing and should be improved.
    I left some TODOs in the specs to remind us to come back
    and revisit.
  - The count constraints create confusion when used with a
    negative expectation (e.g.
    `expect(dbl).not_to have_received(:a).at_most(3).times`
    is confusing and isn't specifying much. We should disallow
    them. I left a pending spec for this so we don't forget.
- These changes were necessary to enable the removal of
  `__mock_expectation` (in my next commit) -- the current ones
  were coupled to the implementation, and did not allow that
  refactoring.