Use random UUID for transactions and splits

Using random UUIDs will prevent existing transactions/splits from being modified when the log is replayed. All transations/splits will be replayed/imported as newly created, which is the same when we are doning GIF/OFX exports.