Starts a transaction. The connection is taken into a Transaction that exposes the same query and CRUD entry points as Surreal (scoped to the transaction) plus commit() and cancel().
Note that this method takes by value (taking a self), which is then passed on to the Transaction. The .commit() and .cancel() methods are used to finalise the transaction and return the Surreal client for reuse.
For a broader discussion and more detailed examples, see the concept page on Manual transactions.