Fix broken UDIF support.

UDIF support was quite severely broken because of changes in .dmg
library code. Fixed by updating hfsx_dmglib.jar to include the following
commit (and its ancestors):
========================================================================
XmlPlistNode.java: Fix XML plist parsing of array elements.

Calling getChildren for an array was broken and treated the array as a
dictionary. This broke UDIF support badly.
========================================================================
Fix support for UDIF images larger than 2 GiB.

Opening UDIF images larger than 2 GiB caused an overflow in
UDIFBlockInputStream in the .dmg library. This was fixed by updating
hfs_dmglib.jar to include the following commit (and its ancestors):
========================================================================
UDIFBlockInputStream.java: Fix overflow in zero/copy block skip methods.

When skipping data beyond the 2^31-1 byte mark, the skip methods for
zero blocks and copy blocks experienced an 'int' overflow causing
negative values to be added to the position (which should never happen
in a skip method).

Fixed by removing the cast to 'int' carried over from its overridden
method. Also added some checks to make sure that we catch such internal
inconsistencies if anything similar comes up in the future.
========================================================================