Alternate output parameters implementation

I based this off of the progress that @arstrube made.  It is a little rough around the edges, but it copies the expected value to the output parameter only after the expected call has been selected (in MockCheckedActualCall::finalizeCallWhenFulfilled).

It currently passes the tests that @arstrube wrote.  More polish and more tests will be needed if this looks like a direction we want to go.
I think the function name is misleading, but couldn't come up with at better alternative. It sounds like you want to get rid of all expectations but the ones that are fulfilled and have an output parameter. It should mean that of the expectations with an output parameter, you want to keep only unfulfilled ones, not touching any of the other expectations, right?