Add afterWork flag for ChangeTriggers which allows a change trigger to run in its own transaction.

By default, trigger classes executed after a request has been processed will be running in the same transaction as the main code. This may cause problems for code that wants to delete objects / object graphs which have not been persisted properly yet. The afterWork flag will run the post-code of the trigger in its own transaction after the request's database changes have been committed.