update PhotoController to use NSURLSession with caching