defensive driving against errors running `hdiutil`

This may not be strictly necessary.  But it should help track
down the `hdiutil` errors, which are persistent, but occasional,
and hard to reproduce. (We pass a flag to `hdiutil` to make
respond in XML.)
Merge pull request #4892 from rolandwalker/sanity_check_plist_parsing

defensive driving against errors running `hdiutil`