Implemented long term cache

returns immediately cached response and update in the background with the new content for later requests.

@schilit