Fix a design bug in JavaHL's jniwrapper: do not rely on incidental
"const"-ness to differentiate between mutable and immutable ByteArray
and String contents accessors.

[in subversion/bindings/javahl/native]

* jniwrapper/jni_array.hpp
  (ByteArray::Contents): Always create only immutable contents.
  (ByteArray::MutableContents): New; the mutable contents accessor.
  (ByteArray::ByteArray): Use MutableContents to create new instances.

* jniwrapper/jni_string.hpp: New file; String implemenation moved here.
  (String::Contents): Always create only immutable contents.
  (String::MutableContents): New; the mutable contents accessor.
  (String::static_init): Removed.
* jniwrapper/jni_object.hpp: Remove String-related includes and String class.
* jniwrapper/jni_base.cpp (String::static_init): Removed empty implementation.
* jniwrapper/jni_class_cache.cpp: Include jni_string.hpp.
  (ClassCache::ClassCache): Remove String static initialization.

* ExternalItem.hpp: Include jniwrapper/jni_string.hpp.

* org_apache_subversion_javahl_util_PropLib.cpp
  (Java_org_apache_subversion_javahl_util_PropLib_parseExternals):
   Don't desclare const accessor variables for String and ByteArray.
  (Java_org_apache_subversion_javahl_util_PropLib_unparseExternals):
   Likewise.


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