Move mergeinfo indexing sqlite code out of libsvn_fs_fs to
libsvn_fs_util(new module) so that it can be reused by bdb repos.

The changes can be summarised as follows,

1. libsvn_fs_util exposes the following public functions for libsvn_fs_fs,
libsvn_fs_base and libsvn_fs_fs modules to consume.
- svn_fs_mergeinfo_db_create - creates the fresh mergeinfo db with the
schema consumed by libsvn_fs_fs and libsvn_fs_base repo create hook.
- svn_fs_merge_info_update_index - updates mergeinfo sqlite db
consumed by the commit_body of libsvn_fs_fs currently later would be used
by libsvn_fs_base.
- svn_fs_util_get_merge_info - gets a mergeinfo for a committed revision
for the set of paths, consumed by libsvn_fs_fs and libsvn_fs_base.

2. Moving the relevant functions as detailed down against each file from
libsvn_fs_fs/tree.c and libsvn_fs_fs/fs_fs.c to
libsvn_fs_util/merge_info_indexer.c

* build.conf
(libsvn_fs_fs):
No more depends on sqlite rather depends on libsvn_fs_util.
(libsvn_fs_base):
No more depends on sqlite rather depends on libsvn_fs_util.
(libsvn_fs_util): New module.

* subversion/libsvn_fs_fs/fs.h
Removed the inclusion of sqlite3.h header.
(fs_fs_data_t):
Removed the member 'mtd'.
(fs_txn_data_t): Removed.
(fs_sqlite_exec): Moved to a new module libsvn_fs_util and made 'static'
there as it is consumed from the same single 'C' file. It is renamed as
util_sqlite_exec.
(SQLITE_ERR): Moved to a new header
subversion/include/private/fs_util.h

* subversion/libsvn_fs_fs/tree.c
(NEGATIVE_CACHE_RESULT): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c
(parse_mergeinfo_from_db): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c
(append_component_to_paths): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c
(get_merge_info_for_path): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c
(fs_get_merge_info): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c and renamed as
'svn_fs_util_get_merge_info'.
(root_vtable):
'get_merge_info' hook is set to 'svn_fs_util_get_merge_info'.

* subversion/libsvn_fs_fs/fs_fs.c
Removed the inclusion of sqlite3.h header.
(path_mergeinfo_db): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c
(sqlite_tracer): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c
(svn_fs_fs__create_txn):
Not populating the 'fs_txn_data_t' of txn vtable.
(index_path_merge_info): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c
(index_txn_merge_info): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c
(update_merge_info_index): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c and made it a
public function by name 'svn_fs_merge_info_update_index'.
(commit_body): Calling 'svn_fs_merge_info_update_index'.
(fs_sqlite_exec): Moved to a new module libsvn_fs_util and made 'static'
there as it is consumed from the same single 'C' file. It is renamed as
util_sqlite_exec.
(SVN_MTD_CREATE_SQL): Moved to
subversion/libsvn_fs_util/merge_info_indexer.c
(svn_fs_fs__create): Calling 'svn_fs_mergeinfo_db_create' to create the
sqlite db.
(svn_fs_fs__open_txn):
No more populating the fsap_data member.

* subversion/libsvn_fs_base/tree.c
(root_vtable):
'get_merge_info' hook is set to 'svn_fs_util_get_merge_info'.

-/* Transactions need their own private opened copy of the mergeinfo
- database so that their sql commands are not shared between each other. */
-typedef struct
-{
- /* Merge tracking database. */
- sqlite3 *mtd;
-} fs_txn_data_t;
-
/* Return a canonicalized version of a filesystem PATH, allocated in
POOL. While the filesystem API is pretty flexible about the
incoming paths (they must be UTF-8 with '/' as separators, but they
@@ -205,23 +193,6 @@