Missing TRANS_RDONLY check.
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.
Merge branch 'master' into freelists