MRG: API to help modify image caching

Add 'caching='fill'|'unchanged' keyword to ``get_data`` method.

Add ``in_memory`` property to tell user whether image already has an in-memory copy of the data.
I would say leave the cache *mode* unchanged. I haven't paid too close attention to this issue, so when I first read this it got me thinking about how this meant the cache *values* somehow were being reset in case they had been changed somehow. BTW are data caches immutable, or once data are cached can they be modified somehow? Might be worth mentioning somewhere.