Java input streams implement partial-read semantics; adjust JavaHL to match.

[in subversion/bindings/javahl]
* native/InputStream.cpp
  (InputStream::getStream): InputStream::read does a partial, not full, read.
  (InputStream::read): Ignore requests to read zero bytes.

* native/NativeStream.cpp
  (NativeInputStream::read()): Perform a full read for a single byte.
   Fix thinko in return value processing.
  (NativeInputStream::read(byte[])): Perform a partial read from the
   underlying stream, if it's supported.

* native/jniwrapper/jni_io_stream.hpp
  (InputStream::read(void*,jint)): Remove unused parameter 'offset'
   and move the implementation out-of-line.
* native/jniwrapper/jni_io_stream.cpp
  (stream_read): Ignore requests to read zero bytes.
   Properly adjust the return value to match svn_stream requirements.
  (InputStream::get_stream,
   InputStream::get_global_stream): Support partial, not full, reads.
  (InputStream::read(void*,jint)): Implement here, and make sure we don't
   try to copy a negative number of bytes.


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