add retry util
refract downloader using util.retry decorator, leave a resource interface
fix unicode and extension bug