Refactor JNI Glue

We now ensure that all Strings we receive from the C-API are null-terminated before passed into Java code. This should ensure that we do not access faulty memory if a client sends non-terminated strings over the network. Since
the core does not care about termination, we have to do this on the Wrapper side.