In the fsx-id branch:
Store the ID all 3 separate parts in the noderev struct as well as on disk.

Keep the 'svn_fs_t *id' in the struct for now until we replaced most code
that accesses it.  Be sure to write the parts whenever we write the full ID.

* subversion/libsvn_fs_x/fs.h
  (node_revision_t): Add the 3 ID parts as separate members.

* subversion/libsvn_fs_x/low_level.c
  (HEADER_NODE,
   HEADER_COPY): New on-disk element markers for the respective ID parts;
                 HEADER_ID will be reused for the noderev ID.
  (read_id_part): New parser utility.
  (svn_fs_x__read_noderev): Read separate ID parts; combine them to a full
                            ID afterwards.
  (svn_fs_x__write_noderev): Write the separate ID parts, derived from the
                             full ID.

* subversion/libsvn_fs_x/fs_x.c
  (write_revision_zero): Update r0 template, particularly the root node.

* subversion/libsvn_fs_x/noderevs.c
  (svn_fs_x__noderevs_get): Initialize the ID parts as well.

* subversion/libsvn_fs_x/transaction.c
  (create_new_txn_noderev_from_rev): Only the noderev ID changed.
  (svn_fs_x__create_node,
   svn_fs_x__create_successor): Initialize the ID parts as well.
  (write_final_rev): Set and work with the ID parts in the noderev struct
                     instead of using local variables.

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