Validate input of JNI::NewStringUTF().

Do a minimal validation needed to construct valid strings.
If the validation fails, replace invalid sequences with '?'.

(cherry picked from commit 1358c9faa9766fd470ab2ba002a73479ccf54154)

Test: Additional tests in JniInternalTest.NewStringUTF
Test: m test-art-host-gtest
Bug: 172655291
Merged-In: I683c142fe5972599297d604f775bb8cfe6154bb7
Merged-In: Ica2c5c33f981cbd2f07e7990b3e321cd3b7473b6
Merged-In: Ieda5a89b738bbb624872512a400855866e120acd
Change-Id: Ieec7fb97a0d9d094fedbda4917a7f5cdad4b10a3
3 files changed