Make transactionless ops wrap real objects.

This is a simplification in preparation for supporting freelists. Now
make_trans() is the only function that allocates transactions.