Fix a construction ordering bug in JavaHL that could lead to a crash during
finalization of RemoteSession objects.

[in subversion/bindings/javahl/native]
* RemoteSessionContext.h (RemoteSessionContext::RemoteSessionContext):
   Remove the contextHolder and jprogress parameters.
  (RemoteSessionContext::activate): New function.
* RemoteSessionContext.cpp (RemoteSessionContext::RemoteSessionContext):
   Do not attach to the Java object and do not set the progress callback.
  (RemoteSessionContext::activate): Instaed, attach and set callback here.
* OperationContext.cpp (OperationContext::progress): Check if the Java context
   was set, and revert to no-op if it wasn't.

* RemoteSession.h (RemoteSession::RemoteSession): Changed signature:
   the constuctor does not create its Java counterpart, nor set up
   the progress callback in same.
* RemoteSession.cpp (RemoteSession::open): Create the Java object and attach
   the session context after the native object was successfully created.
  (RemoteSession::RemoteSession): Do not create the Java object in the
   constructor.

* org_apache_subversion_javahl_remote_RemoteFactory.cpp
  (Java_org_apache_subversion_javahl_remote_RemoteFactory_open):
   Call JNIEntryStatic instead of faking it through JNIEntry.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
* SVNRemoteTests.java (SVNRemoteTests.testSessionGC):
   New test case, checks the sequence of events that led to a crach.


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