jni: Reorganize Java classes, rename a few functions, add javadoc.

This splits the monolithic CoreInterface and CoreInterfaceNative Java
classes into several smaller classes that correspond to the C files
they interact with. It also groups these classes into a sub-package to
minimize clutter in the root package.