xenapi: remove dup code in make_step_decorator

There is duplicate code in the VMOps class and the make_step_decorator
function. This change makes the make_step_decorator class share code
with the VMOps class for updating progress.

Part of the steps towards unifying spawn and finish_migration.

Change-Id: I98ea9998ba5968f438b69e2b90331ae25cade3e6
Merge "xenapi: remove dup code in make_step_decorator"