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.
There needs to be another log message after the image has been fetched confirming that it was fetched and cached. If I saw only the message above in a log, it would look like an error to me because it's "Trying..." but never succeeds?

Or you could just move the log message to after the image fetch and change the message to be in the past tense. e.g. ""Image %s not found in the image cache. Image was fetch from the provider and cached in jclouds."

Also, should this be a debug statement?

It's not exactly unexpected behaviour. I'm not sure. I could go either way.