On the fsfs-format7 branch:  Switch the internal representation of copy
and node IDs from strings to integer pairs.  Informally, they have been
integer pairs in preformat7 repos but now this is formalized.  Replace
the types in a gazillion places and update users and API callers.

Transaction IDs remain strings in this patch but will be replaced by the
same ID part structs in a later patch.

This is the second larger patch in the "numerical IDs" patch series.

* subversion/libsvn_fs_fs/id.h
  (svn_fs_fs__id_part_t): define new struct to replace ID strings
  (svn_fs_fs__id_part_is_root,
   svn_fs_fs__id_part_eq): declare new convenience functions on ID parts
  (svn_fs_fs__id_node_id,
   svn_fs_fs__id_copy_id): return ID parts instead of strings
  (svn_fs_fs__id_txn_create,
   svn_fs_fs__id_rev_create): accept ID parts instead of strings

* subversion/libsvn_fs_fs/id.c
  (fs_fs__id_t): replace node & copy ID stringd with svn_fs_fs__id_part_t
  (part_parse,
   unparse_id_part): new string <-> ID part conversion utilities
  (svn_fs_fs__id_part_is_root,
   svn_fs_fs__id_part_eq): implement
  (svn_fs_fs__id_node_id,
   svn_fs_fs__id_copy_id,
   svn_fs_fs__id_unparse,
   svn_fs_fs__id_eq,
   svn_fs_fs__id_check_related,
   svn_fs_fs__id_txn_create_root,
   svn_fs_fs__id_txn_create,
   svn_fs_fs__id_rev_create,
   svn_fs_fs__id_copy,
   svn_fs_fs__id_parse): update implementation
  (svn_fs_fs__id_serialize,
   svn_fs_fs__id_deserialize): fewer pointers to worry about

* subversion/libsvn_fs_fs/dag.h
  (svn_fs_fs__dag_clone_child): update signature

* subversion/libsvn_fs_fs/dag.c
  (svn_fs_fs__dag_clone_child): ditto
  (svn_fs_fs__dag_copy): update implementation

* subversion/libsvn_fs_fs/util.h
  (path_node_origin): update signature

* subversion/libsvn_fs_fs/util.c
  (path_txn_node_rev,
   path_node_origin): update to converting ID parts to strings

* subversion/libsvn_fs_fs/fs_fs.h
  (svn_fs_fs__set_node_origin,
   svn_fs_fs__get_node_origin): update signatures

* subversion/libsvn_fs_fs/fs_fs.c
  (svn_fs_fs__set_node_origin,
   svn_fs_fs__get_node_origin): update signatures
  (set_node_origins_for_file): convert ID part to string at file interface

* subversion/libsvn_fs_fs/fs.h
  (): make ID parts avaible to private headers

* subversion/libsvn_fs_fs/recovery.c
  (count_from_id): drop
  (recover_find_max_ids): update

* subversion/libsvn_fs_fs/transaction.h
  (svn_fs_fs__reserve_copy_id,
   svn_fs_fs__create_node,
   svn_fs_fs__create_successor): update signatures

* subversion/libsvn_fs_fs/transaction.c
  (create_new_txn_noderev_from_rev,
   svn_fs_fs__create_node): update
  (get_new_txn_node_id,
   svn_fs_fs__reserve_copy_id): update and simplify
  (set_uniquifier): new ints -> string conversion utility function
  (svn_fs_fs__set_entry,
   rep_write_contents_close): update, use new utiltiy function
  (svn_fs_fs__create_successor): update signature
  (get_final_id,
   write_final_rev): update

* subversion/libsvn_fs_fs/tree.c
  (get_copy_inheritance,
   make_path_mutable,
   merge): update, use the new ID part API
  (fs_node_origin_rev): update


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