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.
> Regarding the log level, I'd rather use warning, as using this "hidden" images is something we might want to notify 

How about INFO, then? I'd agree that this is something users might want to know about (i.e. level > DEBUG), but it's not a *problem* as such - you wouldn't expect to trigger an alert based on this, for example (i.e. level < WARN)?