Allow workqueue items to queue the recording of timestamps and sizes
until we already have a db write transaction open to mark the current
item as completed.

This saves at least 5% of every checkout on my testruns, which run on
a ramdrive. On harddisks or network drives the difference would be much
larger. (Assuming a very fast and/or local repository).

* subversion/libsvn_wc/workqueue.c
  (work_item_baton_t): Add typedef.
  (work_item_dispatch): Add argument to all workqueue functions.
  (get_and_record_fileinfo): Change into prototype of function later
    in the file. Take baton instead of db argument.

  (run_base_remove,
   run_file_commit,
   run_postupgrade): Update arguments.

  (run_file_install): Update arguments. Update caller.

  (run_file_remove,
   run_dir_remove,
   run_file_move,
   run_file_copy_translated,
   run_dir_install,
   run_sync_file_flags,
   run_prej_install): Update arguments.

  (run_record_fileinfo): Update arguments. Update caller.

  (run_set_text_conflict_markers,
   run_set_property_conflict_marker): Update arguments.

  (dispatch_work_item): Update caller.
  (svn_wc__wq_run): Create baton. Check if we should call the normal or the
    extended svn_wc__db_wq_fetch_next. Update caller.

  (get_and_record_fileinfo): New function.


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