Simplify transaction setup for pure read-only workloads.  Also, now that we support read-only transactions, there is no need for any special handling of the checkpoint transaction: it won't allocate an ID for itself in the global table.

refs #969, #978