On the fsfs-format7 branch:  Modify the change_t structure to be easier
to use with loggy functions.

The path member will be a proper svn_string_t to allow for efficient
hashing, duplicating data etc.  The remainder now uses an instance of
the svn_fs_path_change2_t which we have to hand our to the API anyway.
Callers / users usually only need one extra syntactic indirection.

Operations that need to copy and / or "fold" changes can now be simplified,
require fewer temporary copies and will become much faster as a result.

* subversion/libsvn_fs_fs/fs.h
  (change_t): change the definition but leave contents almost unchanged

* subversion/libsvn_fs_fs/changes.c
  (append_change,
   svn_fs_fs__changes_get_list,
   svn_fs_fs__changes_get_list_func): update

* subversion/libsvn_fs_fs/low_level.c
  (read_change): ditto

* subversion/libsvn_fs_fs/temp_serializer.c
  (serialize_change,
   deserialize_change): ditto

* subversion/libsvn_fs_fs/transaction.c
  (fold_change): update and simplify
  (process_changes): update; no longer use this for pre-folded lists at all
  (svn_fs_fs__txn_changes_fetch): update caller
  (svn_fs_fs__paths_changed): build result hash directly


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