more detailed error messages from Image.py

This patch improves some of the error messages in `Image.py`. In particular, `Image.open` reports which image it was trying to open, which can be useful if you have a lot of images to load and a few are corrupted.