Tweak the ra-svn tunnel close api to be more like our other close apis
and to auto-document that the errors returned from the close function
are 100% ignored (like all other errors from pool cleanup handlers).

Both the JavaHL implementation and the test suite had assumptions that
these errors would be properly handled to show their test results, while
any error from a pool cleanup is really just ignored by apr.
(So the assertions in the tests would just be ignored).

Make ra_svn close streams from callbacks at pool cleanup too, to allow
implementations to just implement a proper stream class.

* subversion/bindings/javahl/native/ClientContext.cpp
  (ClientContext::ClientContext,
   ClientContext::setTunnelCallback): Update caller.

* subversion/bindings/javahl/native/OperationContext.cpp
  (TunnelContext::TunnelContext): Add arguments.
  (TunnelContext): Add fields.
  (OperationContext::openTunnel): Update prototype.
    Store data for close callback.

  (OperationContext::closeTunnel): Temporarily rename to
  (OperationContext::inner_closeTunnel): ... this and update prototype.

  (OperationContext::closeTunnel): New function with explicit error clear to
    document the true behavior.

* subversion/bindings/javahl/native/OperationContext.h
  (openTunnel): Update prototype.
  (inner_closeTunnel): Rename and tweak prototype.
  (closeTunnel): New function.

* subversion/bindings/javahl/native/RemoteSessionContext.cpp
  (RemoteSessionContext::RemoteSessionContext): Update caller.

* subversion/include/svn_client.h
  (svn_client_ctx_t): Remove callback. Tweak comment.

* subversion/include/svn_ra.h
  (svn_ra_close_tunnel_func_t): Move here (above the open function) and remove
    unneeded arguments. Update to return void to make it obvious that errors
    can't be handled.
  (svn_ra_open_tunnel_func_t): Add close_func output argument.
  (svn_ra_callbacks2_t): Remove close func callback.

* subversion/libsvn_client/ra.c
  (svn_client__open_ra_session_internal): Update caller.

* subversion/libsvn_ra_svn/client.c
  (tunnel_data_t): Store streams in baton. Remove init values.
  (close_tunnel_cleanup): Allow NULL callback. Explicitly close streams.
  (open_session): Always initialize cleanup.

* subversion/tests/libsvn_ra/ra-test.c
  (includes): Add assert.h.
  (close_tunnel): Add forward declaration.
  (open_tunnel): Update prototype. Update caller. Don't return address of local
    variable.
  (close_tunnel): Update prototype. Use assert that *will* show errors during
    testing.


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