On the fsfs-format7 branch:  Switch the txn ID part of FSFS IDs from string
to ID part struct.  That concludes the ID API changes.  To keep the number
data conversions low, we attach a private txn ID struct representation to
the public API's svn_fs_txn_t, that otherwise only provides the C string
variant.

However, we keep the changes to other parts minimal and switch them over in
following patch(es).  Therefore, some of the string <-> struct conversions
added here will be removed in soon.

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

* subversion/libsvn_fs_fs/id.h
  (svn_fs_fs__id_txn_id,
   svn_fs_fs__id_txn_create_root,
   svn_fs_fs__id_txn_create): switch txn IDs strings to struct in signatures

* subversion/libsvn_fs_fs/id.c
  (fs_fs__id_t): change txn_id member type from C string to ID part struct
  (svn_fs_fs__id_txn_id,
   svn_fs_fs__id_is_txn,
   svn_fs_fs__id_unparse): update implemenatation
  (svn_fs_fs__id_eq): simplify
  (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 implemenatation
  (svn_fs_fs__id_serialize,
   svn_fs_fs__id_deserialize): simplify

* subversion/libsvn_fs_fs/transaction.h
  (svn_fs_fs__txn_get_id): declare new private API

* subversion/libsvn_fs_fs/transaction.c
  (fs_txn_data_t): declare new fsap_data type for svn_fs_txn_t
  (svn_fs_fs__txn_get_id): implement new private API
  (get_writable_proto_rev): change signature; convert in implementation
  (svn_fs_fs__put_node_revision): use proper ID API
  (create_new_txn_noderev_from_rev): change signature only
  (create_txn_dir,
   create_txn_dir_pre_1_5): return C string *and* struct repesentation
  (svn_fs_fs__create_txn,
   svn_fs_fs__open_txn): initialize the new private TXN struct as well
  (svn_fs_fs__get_txn,
   svn_fs_fs__create_node,
   svn_fs_fs__create_successor): convert to struct before passing txn ID on
  (rep_write_cleanup,
   rep_write_contents_close): update ID API user; convert struct -> string
  (svn_fs_fs__set_proplist,
   write_final_rev): update ID API user
  (commit_body): use new private TXN API

* subversion/libsvn_fs_fs/low_level.c
  (read_rep_offsets): update API user

* subversion/libsvn_fs_fs/util.c
  (path_txn_node_rev): temporarily derive the txn_id from the full ID
   string representation


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