NOTE: unit tests rely on generating md5 sums for the empty string even if the file doesn't exist.  I went for minimalism and left this alone.