Make all make targets phony and suppress commands.
  Accept variable arguments to #and_return

  * Closes #16
  * (Allowance|Expectation)#and_return accept any number of arguments to
    they are then returned in order.
  * If the double is called more times than there are return values, it
    continues to return the last value in the list.
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.