Wrong error message generated by have_received matcher when method was called 2 or more times than expected

The wrong error message is generated when a `have_received` matcher is used with counts the exceed the expected due to use prematurely raising an exception. If we catch the exception everything works as is.

`allowed_to_fail` causes `@actual_received_count` to not be incremented. Won't that cause bugs?  Seems like maybe `allowed_to_fail` should just be checked before `@error_generator.raise_exepectation_error`?