Improvements to image processing.

Includes image rotation support and a caching S3 data store to hopefully
reduce processing times for photos.