Use a separate class for GNU compiler failures
Use a separate class for GNU compiler failures

major_version is now only used internally by the failure object

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