PhotoManager: Include current photo in dup checks.

The check for duplicate photos in the cache should include the current
photo.
PhotoManager: Allow for OS exceptions in uncaching

OS exceptions raised during uncaching (deleting cache files) will be
ignored.
PhotoManager: Add methods to rotate current photo.

Allows the user to rotate the current photo 90 degrees clockwise or
anti-clockwise, and reload the current photo.
View models: Only update value on change.
Pages: Add photo rotation buttons.
Models: No longer accept args or kws for commands.
Models: Use keyword args for initialisers.

This has been done to allow more functions moving to base classes.
Models: Move common functionality to base classes.