Significant performance improvement to 'svnadmin verify' for repositories
with large directories.

As part of the verification of a directory touched in the currently checked
revision, we verify that we can access all entries.  Since most of them have
not changed, they will use the same svn_fs_id_t value as in some previous
revision.  We simply cache the kind for all IDs that we encounter and can
then skip the actual data access for all those repeated IDs.

Corrupted IDs or mismatching node kinds will still be detected.

* subversion/libsvn_repos/dump.c
  (edit_baton): add a reference to the optional nodeID cache instance
  (get_dump_editor): add cache to baton
  (svn_repos_dump_fs3): update caller
  (verify_directory_entry): use cache to shortcut dirent verification
  (verify_one_revision): cache reference pass through

  (serialize_node_kind,
   deserialize_node_kind): serialization support for the new cache
  (svn_repos_verify_fs3): create a temporary cache with a unique key space


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