Add transaction functions

Database functions/transaction functions.

No need to install functions in database of course. [:db.fn/call f args] will be called in the transaction with the current value of db as the first argument to f. Throwing an Error in f will abort the transaction. See test for an example.