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 accept your testing challenge :)

This test and the one below fail on yours but pass on mine.  The reason is that you always use the full (unpruned) expectation list.  This includes expectations that won't match in the end (due to other constraints) and (I think) expectations that have already been met.