On the fsx-id branch:
Use noderev-IDs instead of svn_fs_id_t within FSX' dirents.

This has a knock-on effect on various function signatures that now need
the internal instead of the FS API ID type (the alternative would have
been to add just as many type conversions / constructions).  The actual
code changes are simple and revolve around where to get the ID in the
right format with the occasional conversion and changed function to call.

* subversion/libsvn_fs_x/fs.h
  (dirent_t): Switch ID type.

* subversion/libsvn_fs_x/temp_serializer.c
  (serialize_dir_entry,
   deserialize_dir,
   svn_fs_x__extract_dir_entry): The ID element is no longer a sub-struct.

* subversion/libsvn_fs_x/cached_data.c
  (read_dir_entries): Switch ID type to parse.
  (svn_fs_x__rep_contents_dir_entry): Dirents are easier to copy now.

* subversion/libsvn_fs_x/transaction.h
  (svn_fs_x__create_node): Drop the obsolete FS API ID return value.
  (svn_fs_x__set_entry): Switch to internal ID type.
  (svn_fs_x__create_successor): Drop the obsolete FS API ID return value.
  (svn_fs_x__delete_node_revision): Switch to internal ID type.

* subversion/libsvn_fs_x/transaction.c
  (unparse_dir_entry): Switch ID type to serialize.
  (svn_fs_x__create_node): Don't generate the redundant FS API ID anymore.
  (svn_fs_x__set_entry): Update ID assignment.
  (svn_fs_x__create_successor): Don't generate the redundant FS API ID
                                anymore.
  (write_final_rev): Switch the ID of the noderev to serialize to our
                     internal type.  Update ID usage and assignments.
  (commit_body): Update caller.
  (svn_fs_x__delete_node_revision): Switch to our more easily accessible
                                    internal ID type and simplify the code.

* subversion/libsvn_fs_x/dag.h
  (svn_fs_x__dag_get_node,
   svn_fs_x__dag_set_entry,
   svn_fs_x__dag_remove_node,
   svn_fs_x__dag_delete_if_mutable): Switch to internal ID type.

* subversion/libsvn_fs_x/dag.c
  (svn_fs_x__dag_get_node): Same, simplifying implementation.
  (dir_entry_id_from_node): The internal ID type has a different "unused"
                            representation.
  (set_entry): Update pass-through parameter type.
  (make_entry): Simplify caller using the noderev-ID provided in the noderev.
  (svn_fs_x__dag_set_entry): Update pass-through parameter type.
  (svn_fs_x__dag_txn_root,
   svn_fs_x__dag_txn_base_root): Convert IDs in function call.
  (svn_fs_x__dag_clone_child): Switch logic to internal ID type.
  (svn_fs_x__dag_clone_root): Convert IDs in function call.
  (svn_fs_x__dag_delete): Update & simplify caller.
  (svn_fs_x__dag_remove_node): Update pass-through parameter type.
  (svn_fs_x__dag_delete_if_mutable): Same. Plus, update recursive call.
  (svn_fs_x__dag_open,
   svn_fs_x__dag_copy): Update callers.

* subversion/libsvn_fs_x/tree.c
  (node_kind): Convert ID type in function call.
  (compare_dir_structure,
   merge): Use appropriate ID comparison functions and update DAG calls.
  (x_dir_entries): Convert from internal to FS API ID type. 
  (history_prev): Convert ID type in function call.
  (crawl_directory_dag_for_mergeinfo): Call appropriate function.
  (verify_node): Same. Plus, update DAG function calls.

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