Create a 4 expression variant of SVN_SQLITE__WITH_LOCK() and
SVN_WC__DB_WITH_TXN() and use that to make sure calls to
svn_wc__db_read_info() and svn_wc__db_base_get_info() only
use a maximum of one database transaction, even when obtaining
repository details.

* subversion/include/private/svn_sqlite.h
  (SVN_SQLITE__WITH_LOCK4): New macro, based on SVN_SQLITE__WITH_LOCK.

* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_base_get_info,
   svn_wc__db_read_info): Use SVN_WC__DB_WITH_TXN4 to avoid additional
     transactions for the up to two calls to svn_wc__db_fetch_repos_info().

* subversion/libsvn_wc/wc_db_private.h
  (SVN_WC__DB_WITH_TXN4): New macro.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1545134 13f79535-47bb-0310-9956-ffa450edef68