renamed property from retrievedDate to cachedOnDate

De-serilalisation of Date class will restore it to a Date object
This fixes the cache expiry logic

Unit tests for above