Create a new transaction object
This does not lock anything, but sets up the transaction object to know from which repository to lock.
the resulting transaction
the repository in which to lock
0 or an error code