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.
This method is really syntactic sugar in its present form. Both in your implementation and in mine, the output parameter is really defined via MockActualCall. So if you used withConstPointerParameter() directly, it would work the same (naturally). What reasons do we have for keeping this, except symmetry, of course?