ISIS-726, ISIS-660 etc: audit entries associated with implicitly scheduled background jobs

Previously the transactionId of an implicitly scheduled background job was not used in the transaction
created to execute said job.  This resulted in audit entries and published events that were orphaned from
the background command.

This fix addresses the problem by pushing down the creation of the transaction (via
transactionManager.executeWithinTransaction(...)) until after the command has been set on
the commandContext (using commandContext.setCommand(...))

In addition, a few other related fixes/tidy-ups:
* new commandServiceJdoContributions to lookup parent action (for audit entries and published events)
* tidy-up/minor changes in todo example app