fix case of JNIEnv::FindClass called from JNI_OnLoad

If an JNI_OnLoad implementation calls FindClass when using the OpenJDK
class library, the calling method on the Java stack will be
ClassLoader.loadLibrary.  However, we must use the class loader of the
class attempting to load the library in this case, not the system
classloader.

Therefore, we now maintain a stack such that the latest class to load
a library in the current thread is at the top, and we use that class
whenever FindClass is called by ClassLoader.loadLibrary (via
JNI_OnLoad).

Note that this patch does not attempt to address the same problem for
the Avian or Android class libraries, but the same strategy should
work for them as well.
Merge remote-tracking branch 'remotes/dicej/findclass-onload'
fix JNIEnv::FindClass calls from JNI_OnLoad for all supported class libraries

This also fixes the some Android build rot and updates the version of
OpenSSL used.
Merge pull request #283 from dicej/findclass-onload

fix case of JNIEnv::FindClass called from JNI_OnLoad