Allow DEFERRED transactions to run in parallel

Bug: 279042342

A DEFERRED SQLite transaction is now read-only.  It will prefer the
"secondary" connections rather than the single, primary database
connection.  This allows multiple DEFERRED transactions to run in
parallel.

Because the DEFERRED transaction mode is used for read-only
transactions, the public APIs are renamed.

Test: atest
 * SQLiteDatabaseTest

Change-Id: Ida25a58d36767ebd23b20ba0d9ab8a1d4c0dfdc3
2 files changed