'DB.Exists' optimized to avoid unnecessary IO

DB.Exists now checks the cache first avoiding IO.
'DB.Get<T>' now updates the cache.

This will make subsequent calls of 'Get<T>' for the same key more faster
(or without making io).
Removed unnecessary code from Insert<T>.