mirrormug: Theoretically support MD5 checking of downloads
Check for empty downloaded images

For hidden/private images, we get an empty image back if we're not
authenticated... and since I haven't figured out how to pass through
the headers yet, we're never authenticated.
Code is cooler without NameErrors
Simpler implementation of MD5 checking that actually works
Add first pass at a mirror-mode local checksum of files

The approach here is simple: download (and cache) all galley details
from SmugMug, calculate and cache all local MD5 sums under the
top-level cache path, and check these against each other.

Current usage is pretty janky, but the checks are useful in reconciling
the local mirror with SmugMug.