Replace uses of ACTION_TEMPLATE and ACTION_P with manually written functors.
The latter provide better error diagnostics.
This fixes https://github.com/google/googletest/issues/2729.
PiperOrigin-RevId: 328573022
Refactor the `Invoke` and `InvokeWithoutArgs` actions:
- Replace pump'd classes and functions with templates.
- Make the polymorphic actions be polymorphic functors instead.
- Fix Invoke(Callback*) to work with subclasses of the callbacks, instead of trying to diagnose that in gmock_doctor.
PiperOrigin-RevId: 229604112