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 I'm going to add MockNamedValue::setOutputPointer.  This is similar to MockNamedValue::setObjectPointer so I think it will fit in pretty well.