On the fsfs-format7 branch:  Optimize the order in which reports return
their data.  Let's the FS backend suggest an storage-optimal ordering
(hopefully minimizing I/O and such) and process / deliver data in that
order.  This should speed up access to pre-1.9 repos as well.

* subversion/include/svn_fs.h
  (svn_fs_dir_optimal_order): declare the new API

* subversion/libsvn_fs/fs-loader.h
  (root_vtable_t): add entry for the new API to FS vtable

* subversion/libsvn_fs/fs-loader.c
  (svn_fs_dir_optimal_order): pass through to FS backend

* subversion/libsvn_fs_base/tree.c
  (base_dir_optimal_order): implementation for BDB
  (root_vtable): add to vtable

* subversion/libsvn_fs_fs/pack.h
  (svn_fs_fs__order_dir_entries): declare new internal API

* subversion/libsvn_fs_fs/pack.c
  (compare_dir_entries): add docstring
  (svn_fs_fs__order_dir_entries): implement using the same sorting logic
   as during the pack process
  (copy_node_to_temp): use new internal API instead of direct calls

* subversion/libsvn_fs_fs/tree.c
  (fs_dir_optimal_order): forward to FSFS implementation
  (root_vtable): add to vtable

* subversion/libsvn_repos/reporter.c
  (delta_dirs): call the new API and process items in suggested order

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