JCLOUDS-588: Register discovered images in the image cache

https://issues.apache.org/jira/browse/JCLOUDS-588

Images were cached in memory using a memoized supplier. To allow growing this cache with the discovered images, the `ImageCacheSupplier` class has been created. It provides an in-memory cache with all discovered images and acts as a view over the image cache that also provides access to them.

The in-memory cache for the discovered images expires with the session, just as the image cache does.

The default memoized image supplier has been changed to the `ImageCacheSupplier`, to make sure all providers get injected the right instance, and the old supplier has been qualified with the 'imageCache' name, in case a provider needs the basic image cache.
I like the past tense approach after having fetched the image. Will change.
Regarding the log level, I'd rather use warning, as using this "hidden" images is something we might want to notify users (and we can expect debug level to be disabled). Take into account that the message will appear only once, since the image is being added to the cache. WDYT?