Extend the ra_svn tunnel setup api with a cancel function to allow
implementations to provide (GUI) clients with timely cancellation on
timeouts. These clients can't depend on the signal handling breaking
blocking IO operations.

* subversion/bindings/javahl/native/OperationContext.cpp
* subversion/bindings/javahl/native/OperationContext.h
  (OperationContext::openTunnel): Add cancel callback and baton arguments.

* subversion/include/svn_ra.h
  (svn_ra_open_tunnel_func_t): Add cancel callback and baton arguments.

* subversion/libsvn_ra_svn/client.c
  (open_session): Update caller.
     [Reviewers: Yes, all the common callbacks share a baton value here.]

* subversion/tests/libsvn_ra/ra-test.c
  (open_tunnel): Add cancel callback and baton arguments.


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