I recommend taking a good look at Digicam. For the types of tasks listed above, its very good and fairly easy. It also supports bulk processing, tagging images, etc. Its part image database and part image manipulator.