Add dvmHumanReadableDescriptor function, and use it.

We were abusing the fact that dvmDescriptorToDot, which is actually meant
for the class loading machinery, produces more readable output than a
regular descriptor. This patch adds a dvmHumanReadableDescriptor function,
switches all the relevant callers over to it, and and reuses the code that
was already in HprodClass.c.

This means we now say "java.lang.String[]" instead of "[Ljava.lang.String;".

Note that the old hprof code would have left "I" unchanged; I modified it
to translate "I" to "int" (et cetera). This was probably an oversight because
primitive scalars can't appear on the heap, so hprof had no need to format
those types (just arrays of primitives, which it got right).

Bug: 3216276
Change-Id: I63f32a2b020674dfa62ce198ff2699ec01857540
9 files changed