Avoid tests failing because the media directory doesn't exist

Most tests won't need this, since we're using in memory
storage, but remembering to set it up for tests that use
proper file storage isn't a good plan, let's just do it once
for all.
Add support for removing photos
Removing empty file
Display upload errors on the progress bar when they fail
Not all photos have dates (e.g. images without EXIF)
This is probably going to be impossible, or at least very difficult
Image processing code now handles PNGs and JPGs without Exif

None of this works on Python 3 for some reason.
Test grabbing data from an image with Exif data