Cache images using MD5 hash instead of random UUID

Use an MD5 hash of the Bitmap contents instead of a random UUID for each
image, so that multiple images will not be stored on disk for the same
resource. If the same content is use for an additional image field of
DataCard or DataCardImage, the existing cached image will be reused.

Change-Id: Ie36d6e7cb745a58d9c01ddf1a00ad19e839f478c