Fix native PBKDF2 behavior with Unicode passwords

The native PBKDF2 provider marshalls a Java string into a byte array
using GetStringUTFChars() which expands unicode characters into 2 bytes.
However for determining the size of the character array it was using the
password length parameter passed by the Java caller, which simply uses
String.length() that counts unicode characters as a single character
resulting in truncated data for the PBKDF2 computation. Fix uses
strlen() on the GetStringUTFChars() result.

Fixes #61 in mrpdaemon/encdroid