Following up on r1531610 and related revisions, extend the ra-svn tunnel
creation callback to allow providing Subversion streams instead of only
apr_file_t * handles to allow hooking in third party libraries without
requiring external applications and/or advanced multithread synchronization
in any application that wants to use this.

This should allow things like using libssh2 as in-process ssh client on
Windows, with callbacks for authentication in the primary thread without
patching Subversion.
(It should also allow simplifying the test of the callback in JavaHL,
 which now uses a simplified multithreading implementation)

* subversion/bindings/javahl/native/OperationContext.cpp
* subversion/bindings/javahl/native/OperationContext.h
  (OperationContext::openTunnel): Update callback.

* subversion/include/svn_ra.h
  (svn_ra_open_tunnel_func_t): Update argument type.

* subversion/include/svn_ra_svn.h
  (svn_ra_svn_create_conn4): New function.
  (svn_ra_svn_create_conn3): Deprecate function.

* subversion/libsvn_ra_svn/client.c
  (handle_child_process_error,
   make_tunnel,
   open_session): Update caller.

* subversion/libsvn_ra_svn/deprecated.c
  (SVN_DEPRECATED): Declare here to suppress deprecated warnings.
  (svn_ra_svn_create_conn3): New function.

* subversion/libsvn_ra_svn/marshal.c
  (svn_ra_svn_create_conn3): Rename to ...
  (svn_ra_svn_create_conn4): ... this and update caller. Rename pool.

* subversion/libsvn_ra_svn/ra_svn.h
  (svn_ra_svn__stream_from_streams): New function.

* subversion/libsvn_ra_svn/streams.c
  (includes): Add svn_io_private.h.

* subversion/svnserve/serve.c
  (serve_interruptable): Update caller.

* subversion/svnserve/svnserve.c
  (sub_main): Reduce scope of some variables. Update caller.

* subversion/tests/libsvn_ra/ra-test.c
  (open_tunnel): Update callback.


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