Automatically Rotate Avatar based on exif data

This commit..
* doesn't check if a local or uploaded file is square to give a user the option to crop square images
* caches uploaded images to an initial temporary file (needed to fix orientation)
* fixes orientation based on exif data
* works for encrypted local images as well