Let user saving and restoring caches

Remove jqXHR property in cached ETags class.
Add methods for get and set ETags caches, let user saving and restoring caches

I don't know why when got a 304 response, This lib uses cached old jqXHR object instead of new one. Cached data are already provided by promise API. Including jqXHR object in cache will make it impossible to save cache object to localStorage(and then load it from it).