Added Set method support to BlendedCache.

Added SetCacheLocation to know what layer should be set.
There is a IBlendedCacheSetter object that handles the actual setting.
Ensure the various caching layers are called depending on the SetCacheLocation flag.

--some small comment cleanup I saw on the way.