Fix the jweak implementation.
We need to distinguish between "cleared weak global" and "deleted weak global".
Previously we used NULL for both. Now we add a magic value for cleared weak
globals. I've also switched the GC over to using iterators, so IndirectRefTable
itself becomes responsible for not showing bad pointers to the GC.
I've also improved the reference table dumping to cope with the new scheme and
to be a bit easier to read (through extra indentation).
Bug:
4260055
Change-Id: I26af301fb2b46d014c6f6b0915a8f8a7fb6d7c5b