On the fsfs-format7 branch:  minimize the impact of logical
addressing, cache the index info.  Also, optimize cache access
code to not copy unnecessary data, i.e. use __get_partial
instead of __get.  Finally, when having loaded index data from 
disk, parse more of it than actually requested and cache it
for future reference. 

* subversion/libsvn_fs_fs/fs.h
  (fs_fs_data_t): add 4 new caches

* subversion/libsvn_fs_fs/caching.c
  (svn_fs_fs__initialize_caches): initialize new caches

* subversion/libsvn_fs_fs/index.c
  (l2p_page_info_baton_t,
   l2p_page_baton_t,
   l2p_page_table_baton_t,
   p2l_page_info_baton_t): new cache access data structures

  (base_revision,
   l2p_header_copy,
   l2p_header_access_func,
   get_l2p_page_info,
   get_l2p_header,
   l2p_page_get_offset,
   l2p_page_access_func,
   l2p_page_table_access_func,
   get_l2p_page_table,
   prefetch_l2p_pages,
   p2l_page_info_copy,
   p2l_page_info_func,
   prefetch_p2l_page): new utility & cache access functions

  (get_l2p_header): rename to ...
  (get_l2p_header_body): ... this; add caching support
  (svn_fs_fs__l2p_get_max_ids): update; improve pool usage
  (get_p2l_header): superseeded by ...
  (get_p2l_page_info): ... this one
  (l2p_index_lookup,
   svn_fs_fs__p2l_index_lookup): use caches and prefetch data

  (svn_fs_fs__serialize_l2p_header,
   svn_fs_fs__deserialize_l2p_header,
   svn_fs_fs__serialize_l2p_page,
   svn_fs_fs__deserialize_l2p_page,
   svn_fs_fs__serialize_p2l_header,
   svn_fs_fs__deserialize_p2l_header,
   svn_fs_fs__serialize_p2l_page,
   svn_fs_fs__deserialize_p2l_page): implement caches access functions

* subversion/libsvn_fs_fs/index.h
  (svn_fs_fs__page_cache_key_t): declare new cache key type
  (svn_fs_fs__serialize_l2p_header,
   svn_fs_fs__deserialize_l2p_header,
   svn_fs_fs__serialize_l2p_page,
   svn_fs_fs__deserialize_l2p_page,
   svn_fs_fs__serialize_p2l_header,
   svn_fs_fs__deserialize_p2l_header,
   svn_fs_fs__serialize_p2l_page,
   svn_fs_fs__deserialize_p2l_page): declare caches access functions


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fsfs-format7@1444674 13f79535-47bb-0310-9956-ffa450edef68