Add spill-all-data functionality to spillbufs.

* subversion/include/private/svn_subr_private.h
  (svn_spillbuf__create_extended): New spillbuf constructor.
* subversion/libsvn_subr/spillbuf.c
  (init_spillbuf_extended, init_spillbuf): Fix thinko: the temp_path field is
   set in in svn_spillbuf__write and should not be initialized.
  (svn_spillbuf__create_extended): Implement.
  (svn_spillbuf__write): Optionally write the in-memory contents to the
   newly created spill file.

* subversion/tests/libsvn_subr/spillbuf-test.c
  (test_spillbuf__basic, test_spillbuf_basic_spill_all,
   test_spillbuf__callback, test_spillbuf_callback_spill_all,
   test_spillbuf__file, test_spillbuf_file_spill_all,
   test_spillbuf__interleaving, test_spillbuf_interleaving_spill_all,
   test_spillbuf__rwfile, test_spillbuf_rwfile_spill_all,
   test_spillbuf__eof, test_spillbuf_eof_spill_all): New tests and helpers.
  (test_funcs): Add new tests.


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