Add call count specific expectations.

* Add expect(Foo).method_name.never()
* Add expect(Foo).method_name.once()
* Add expect(Foo).method_name.exactly_times(n)
* Update is_satisfied() to check call counts, will raise expectation
  error if the call count does not match the expected value.
* This doesn't raise when the unexpected call is made it waits until is_verified() is call.  This is probably undesirable, it is an easy update to raise when an 'illegal' call is made. 
This lambda appears appears in call_count_accumulator.py also. I think that's a sign that some responsibility is being duplicated between the two classes.