added option to modify the data before saving to cache

pending: bug that caused inconsistency if multiple objects returned!
temporary workaround: results.count >= 1 instead of == 1
Merge pull request #2 from roland9/master

added option to modify the data before saving to cache