Fix dvmHumanReadableDescriptor("B").
dvmHumanReadableDescriptor was failing for primitive scalars in
libdvm_assert.so --- there was an assertion that wasn't true,
because we wouldn't have copied the ';' into the result (in the
other cases, we'd copy the ';' and then overwrite it).
This patch rewrites dvmHumanReadableDescriptor to be a little
less tasteless, removes the asserts, behave better when out of
memory, and to include unit tests (currently only runnable on
the device).
Bug:
3245572
Change-Id: I57b06c774a5bc61c2d374cce6285553c3c5f388b