Evaluate the default transaction description only if necessary

Otherwise, OldValue and NewValue are always called even if unneeded.
This behaviour gets rid of the useless "(No description)" description
added by 007eb26 and reverts the fallback behaviour to that pre-007eb26.
Merge branch '4.2/default-txn-description'