Switch svn_fs_fs__get_node_revision() to dual-pool paradigm.
Make some callers pass a scratch pool to reduce memory overhead.

* subversion/libsvn_fs_fs/cached_data.c
  (get_node_revision_body, svn_fs_fs__get_node_revision): Switch to dual-pool.
   Use scratch pool for any data that isn't returned to the caller,
   in particular the call to svn_cache__set().

* subversion/libsvn_fs_fs/cached_data.h
  (svn_fs_fs__get_node_revision): Update declaration.

* subversion/libsvn_fs_fs/dag.c
   (get_node_revision): Use a temporary scratch pool for
    svn_fs_fs__get_node_revision().

* subversion/libsvn_fs_fs/transaction.c
  (create_new_txn_noderev_from_rev, svn_fs_fs__get_txn, validate_root_noderev,
   svn_fs_fs__delete_node_revision): Pass two pools.
  (shards_spanned, choose_delta_base): Introduce an iterpool in loops around
   svn_fs_fs__get_node_revision and pass it as scratch pool.
  (write_final_rev): Extend scope of an existing subpool and pass it as
   scratch pool to svn_fs_fs__get_node_revision().

* subversion/libsvn_fs_fs/tree.c
  (merge): Create a scratch pool for svn_fs_fs__get_node_revision() calls
   grouped in an unrolled-loop fashion.
  (verify_node): Pass existing iterpool as scratch pool.

* tools/server-side/svn-rep-sharing-stats.c
   (process_one_revision): Pass existing scratch pool.


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