use json to cache descriptions
use json to cache descriptions

We need to use `atomic_write` when saving the cache. And it seems that
CSV module doesn't support dump, so let's use JSON instead.

DomT4/brew,sjackman/homebrew,MikeMcQuaid/brew,EricFromCanada/brew,zmwangx/brew,zmwangx/brew,gregory-nisbet/brew,ilovezfs/brew,sjackman/homebrew,vitorgalvao/brew,nandub/brew,palxex/brew,konqui/brew,muellermartin/dist,toonetown/homebrew,mistydemeo/homebrew,pseudocody/brew,amar-laksh/brew_sudo,reelsense/brew,hanxue/linuxbrew,mistydemeo/homebrew,AnastasiaSulyagina/brew,sjackman/homebrew,EricFromCanada/brew,amar-laksh/brew_sudo,vitorgalvao/brew,rwhogg/brew,aw1621107/brew,claui/brew,maxim-belkin/brew,toonetown/homebrew,Linuxbrew/brew,Linuxbrew/brew,Linuxbrew/brew,maxim-belkin/brew,MikeMcQuaid/brew,gordonmcshane/homebrew,reelsense/brew,JCount/brew,nandub/brew,bfontaine/brew,ilovezfs/brew,hanxue/linuxbrew,tonyg/homebrew,konqui/brew,gordonmcshane/homebrew,maxim-belkin/brew,toonetown/homebrew,mgrimes/brew,zmwangx/brew,jmsundar/brew,bfontaine/brew,konqui/brew,reitermarkus/brew,alyssais/brew,bfontaine/brew,mahori/brew,MikeMcQuaid/brew,mgrimes/brew,mistydemeo/homebrew,nandub/brew,claui/brew,Linuxbrew/brew,palxex/brew,JCount/brew,AnastasiaSulyagina/brew,vitorgalvao/brew,gordonmcshane/homebrew,staticfloat/brew,reitermarkus/brew,MikeMcQuaid/brew,hanxue/linuxbrew,aw1621107/brew,reitermarkus/brew,mahori/brew,tonyg/homebrew,claui/brew,jmsundar/brew,alyssais/brew,muellermartin/dist,palxex/brew,pseudocody/brew,gregory-nisbet/brew,amar-laksh/brew_sudo,konqui/brew,reitermarkus/brew,alyssais/brew,aw1621107/brew,EricFromCanada/brew,ilovezfs/brew,vitorgalvao/brew,DomT4/brew,EricFromCanada/brew,staticfloat/brew,JCount/brew,AnastasiaSulyagina/brew,Homebrew/brew,nandub/brew,rwhogg/brew,pseudocody/brew,tonyg/homebrew,gregory-nisbet/brew,staticfloat/brew,sjackman/homebrew,JCount/brew,rwhogg/brew,DomT4/brew,jmsundar/brew,mahori/brew,mahori/brew,Homebrew/brew,reelsense/brew,muellermartin/dist,Homebrew/brew,mgrimes/brew,Homebrew/brew,DomT4/brew,claui/brew