Improve error messages for verifying double exceptions. Closes #14.
Add call count specific expectations.

* Add expect(Foo).method_name.never()
* Add expect(Foo).method_name.once()
* Update is_satisfied() to check call counts, will raise expectation
  error if the call count does not match the expected value.
Refactor how we handle call_count limits

* Raise right away
* Move to allowance so you can limit the number of times an allowance is
  called
* Add new allowance tests
Fix merge errors
Update call_count syntax

* Duplicate rspecs exactly(n).times
update tests
implement at_least and at_most
Refactor allowance.py -- better handle call counts

* Create call_count_accumulator: contains all call counting logic
* Remove call count logic/state from allowance.
add docstrings to call_count_accumulator
add docstrings to allowance.py