Fix InstanceActionEvent traceback parameter not serializable

The change to use InstanceActionEvent in compute.utils.EventReporter
changed the order of how things are done. Before, traceback info were
converted to a string before being sent to the conductor. Now, since
the object method being used remotes itself, the order becomes the
opposite and any captured tracebacks are sent as is, resulting in
errors during messaging.

This adds a serialize_args decorator for this case, which handles
this specific case for the event_finish_with_failure() classmethod.
A more generic approach is needed, and that will be applied to the
also-affected but currently-unused finish_with_failure() instance
method.

Change-Id: Ibedddd606b9d25ffbbb2b1b5358cf0aa4741083f
Co-Authored-By: Dan Smith <dms@danplanet.com>
Closes-Bug: #1317804