For issue #4172, limit the amount of temporary files open at the same time
while committing in general and while using libsvn_ra_serf in particular.

* subversion/libsvn_client/commit_util.c
  (file_mod_t): Store per file pool, to allow destroying earlier.
  (do_item_commit): Create per file subpool. Store or close pool.
  (svn_client__do_commit): Destroy file pools as soon as we are done
    with the file.

* subversion/libsvn_ra_serf/commit.c
  (svndiff_stream_write): Remove function.
  (delayed_commit_stream_open): New function.
  (apply_textdelta): Open a lazy stream instead of a tempfile.
  (close_file): Check for a backing file instead of the stream.


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