Handle non-200 responses & don't cache them
. Handle 404's on index by not retrying and simply returning the cached content
if availabled. Otherwise return the error content from the server.
. Handle non-200's by retrying and returning the last error content from the
server after retrying.

This commit fixes #33