Eliminate dependency on fs_fs_data_t from svnfsfs code.

The approach is threefold.  Firstly, use our own block size constants
as the API allows arbitrary values.  Secondly, make the stats command
accept any repository format because we are using the generic access 
functions provided FSFS.  And thirdly, read the repository dimensions
once during open() and add the svn_fs_fs__* private APIs to retrieve
them where missing.

* subversion/libsvn_fs_fs/fs_fs.h
  (svn_fs_fs__shard_size,
   svn_fs_fs__min_unpacked_rev): Declare new private API to access data
                                 usually read directly from fs_fs_data_t.

* subversion/libsvn_fs_fs/fs_fs.c
  (svn_fs_fs__shard_size,
   svn_fs_fs__min_unpacked_rev): Implement them.

* subversion/svnfsfs/svnfsfs.h
  (REV_FILE_BLOCK_SIZE,
   INDEX_BLOCK_SIZE): Define our rev file and index access granularities.

* subversion/svnfsfs/dump-index-cmd.c
  (dump_index): Use our constants instead of an fs_fs_data_t access.

* subversion/svnfsfs/stats-cmd.c
  (fs_t): Add members to store the repository dimensions.
  (fs_open): Query and store the repo dimensions.  Remove the obsolete
             FS format check.
  (read_phys_pack_file): Replace access to fs_fs_data_t with the new
                         fs_t members.
  (read_phys_revision_file): Same. Also, fix progress for non-shared repos.
  (read_item,
   read_log_rev_or_packfile): Use our constants instead of an fs_fs_data_t
                              access.
  (read_log_pack_file): Replace access to fs_fs_data_t with the new
                        fs_t members.
  (read_log_revision_file): Same. Also, fix progress for non-shared repos.
  (read_revisions): Replace access to fs_fs_data_t with the new fs_t members.


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