Applied NVI idiom to MockActualFunctionCall.

How about this for an alternative. No more virtual interface functions at all. With this approach, all virtual operations are private and overridden privately (if necessary).

I removed the unwanted withReturnValue() operations (could be done in a separate commit).

I also found some virtual functions in the implementation that are never overridden anywhere. Making them non-virtual would make this fact clearer.

In a few cases (e.g. ignoreOtherParameters() overriding was not necessary. There might be more.

I postfixed the private functions with underscore. I thought it looks better than ...Impl() ;-)