New transactionPeriodicallyCommit state

This provides a new option for periodically committing which will commit the user transaction. It is the client's responsibility to detect that the transaction is no longer open, and create a new one.
The client-tools already has to react to this and we don't want non-client-tools to be consuming anyway, so is there much fallout to just using OFF and ON?