Speed up Xcode project generation
Speed up Xcode project generation

Summary:
  * Creating header symlink trees made project generation slower than when we
    used header maps. This diff mitigates this slow-down on repeated
    `buck project` runs by only regenerating the header symlink trees if their
    contents have changed.
  * With this diff the performance of "no-op" `buck project` is comparable to
    what it was before the introduction of header symlink trees and about 60%
    faster than it was after header symlink trees were introduced.

Test Plan:
  * `buck test`.
  * Manually check the improved performance of `buck project`.

artiya4u/buck,kageiit/buck,grumpyjames/buck,lukw00/buck,justinmuller/buck,rmaz/buck,bocon13/buck,ilya-klyuchnikov/buck,hgl888/buck,darkforestzero/buck,brettwooldridge/buck,zpao/buck,darkforestzero/buck,grumpyjames/buck,tgummerer/buck,dsyang/buck,stuhood/buck,Heart2009/buck,janicduplessis/buck,robbertvanginkel/buck,Learn-Android-app/buck,mnuessler/buck,MarkRunWu/buck,robbertvanginkel/buck,vschs007/buck,justinmuller/buck,dsyang/buck,dushmis/buck,Dominator008/buck,shs96c/buck,k21/buck,grumpyjames/buck,romanoid/buck,facebook/buck,dushmis/buck,dushmis/buck,sdwilsh/buck,k21/buck,romanoid/buck,marcinkwiatkowski/buck,LegNeato/buck,siddhartharay007/buck,clonetwin26/buck,Dominator008/buck,marcinkwiatkowski/buck,artiya4u/buck,mikekap/buck,MarkRunWu/buck,MarkRunWu/buck,illicitonion/buck,SeleniumHQ/buck,clonetwin26/buck,sdwilsh/buck,neonichu/buck,tgummerer/buck,artiya4u/buck,Distrotech/buck,1yvT0s/buck,zhan-xiong/buck,siddhartharay007/buck,romanoid/buck,janicduplessis/buck,romanoid/buck,rmaz/buck,siddhartharay007/buck,neonichu/buck,LegNeato/buck,romanoid/buck,daedric/buck,raviagarwal7/buck,sdwilsh/buck,tgummerer/buck,Addepar/buck,shs96c/buck,zhuxiaohao/buck,k21/buck,clonetwin26/buck,marcinkwiatkowski/buck,clonetwin26/buck,facebook/buck,artiya4u/buck,clonetwin26/buck,grumpyjames/buck,bocon13/buck,dpursehouse/buck,zhuxiaohao/buck,1yvT0s/buck,dushmis/buck,grumpyjames/buck,Distrotech/buck,Addepar/buck,davido/buck,illicitonion/buck,shybovycha/buck,Heart2009/buck,mikekap/buck,brettwooldridge/buck,Heart2009/buck,MarkRunWu/buck,artiya4u/buck,rowillia/buck,janicduplessis/buck,luiseduardohdbackup/buck,Addepar/buck,mnuessler/buck,justinmuller/buck,grumpyjames/buck,illicitonion/buck,daedric/buck,shs96c/buck,rhencke/buck,mogers/buck,robbertvanginkel/buck,LegNeato/buck,pwz3n0/buck,OkBuilds/buck,hgl888/buck,rowillia/buck,Addepar/buck,vine/buck,romanoid/buck,dsyang/buck,davido/buck,vine/buck,zpao/buck,bocon13/buck,Addepar/buck,facebook/buck,bocon13/buck,mnuessler/buck,mogers/buck,MarkRunWu/buck,illicitonion/buck,sdwilsh/buck,luiseduardohdbackup/buck,ilya-klyuchnikov/buck,stuhood/buck,zhuxiaohao/buck,pwz3n0/buck,Heart2009/buck,ilya-klyuchnikov/buck,1yvT0s/buck,siddhartharay007/buck,robbertvanginkel/buck,pwz3n0/buck,bocon13/buck,Distrotech/buck,romanoid/buck,rhencke/buck,siddhartharay007/buck,k21/buck,justinmuller/buck,justinmuller/buck,marcinkwiatkowski/buck,LegNeato/buck,tgummerer/buck,stuhood/buck,Learn-Android-app/buck,MarkRunWu/buck,zhan-xiong/buck,ilya-klyuchnikov/buck,LegNeato/buck,shybovycha/buck,lukw00/buck,grumpyjames/buck,MarkRunWu/buck,kageiit/buck,davido/buck,artiya4u/buck,mogers/buck,1yvT0s/buck,k21/buck,mnuessler/buck,vine/buck,davido/buck,rhencke/buck,raviagarwal7/buck,Distrotech/buck,sdwilsh/buck,brettwooldridge/buck,clonetwin26/buck,neonichu/buck,illicitonion/buck,neonichu/buck,sdwilsh/buck,grumpyjames/buck,ilya-klyuchnikov/buck,raviagarwal7/buck,mikekap/buck,ilya-klyuchnikov/buck,rhencke/buck,stuhood/buck,Addepar/buck,siddhartharay007/buck,dsyang/buck,darkforestzero/buck,tgummerer/buck,darkforestzero/buck,davido/buck,OkBuilds/buck,bocon13/buck,lukw00/buck,marcinkwiatkowski/buck,zpao/buck,ilya-klyuchnikov/buck,brettwooldridge/buck,bocon13/buck,shs96c/buck,vschs007/buck,Dominator008/buck,dushmis/buck,shybovycha/buck,vschs007/buck,ilya-klyuchnikov/buck,grumpyjames/buck,Distrotech/buck,vine/buck,Dominator008/buck,Learn-Android-app/buck,SeleniumHQ/buck,dpursehouse/buck,shs96c/buck,janicduplessis/buck,rmaz/buck,illicitonion/buck,k21/buck,dushmis/buck,Heart2009/buck,mnuessler/buck,JoelMarcey/buck,mikekap/buck,rhencke/buck,rhencke/buck,zhuxiaohao/buck,dpursehouse/buck,rowillia/buck,Distrotech/buck,Dominator008/buck,Dominator008/buck,Distrotech/buck,liuyang-li/buck,mnuessler/buck,hgl888/buck,daedric/buck,robbertvanginkel/buck,shs96c/buck,darkforestzero/buck,SeleniumHQ/buck,davido/buck,JoelMarcey/buck,artiya4u/buck,Addepar/buck,justinmuller/buck,pwz3n0/buck,justinmuller/buck,neonichu/buck,liuyang-li/buck,stuhood/buck,daedric/buck,zhan-xiong/buck,mikekap/buck,davido/buck,vschs007/buck,luiseduardohdbackup/buck,ilya-klyuchnikov/buck,zhan-xiong/buck,liuyang-li/buck,nguyentruongtho/buck,Learn-Android-app/buck,Heart2009/buck,Addepar/buck,luiseduardohdbackup/buck,zhuxiaohao/buck,sdwilsh/buck,rowillia/buck,vine/buck,JoelMarcey/buck,SeleniumHQ/buck,robbertvanginkel/buck,stuhood/buck,mogers/buck,justinmuller/buck,Learn-Android-app/buck,mogers/buck,pwz3n0/buck,bocon13/buck,LegNeato/buck,Dominator008/buck,zhan-xiong/buck,OkBuilds/buck,kageiit/buck,vine/buck,OkBuilds/buck,Learn-Android-app/buck,rmaz/buck,shybovycha/buck,lukw00/buck,sdwilsh/buck,LegNeato/buck,vine/buck,JoelMarcey/buck,shs96c/buck,kageiit/buck,marcinkwiatkowski/buck,janicduplessis/buck,zhan-xiong/buck,Learn-Android-app/buck,illicitonion/buck,grumpyjames/buck,zhan-xiong/buck,tgummerer/buck,dsyang/buck,zhuxiaohao/buck,shs96c/buck,tgummerer/buck,bocon13/buck,LegNeato/buck,rhencke/buck,Heart2009/buck,vschs007/buck,rowillia/buck,SeleniumHQ/buck,tgummerer/buck,mikekap/buck,tgummerer/buck,OkBuilds/buck,liuyang-li/buck,mnuessler/buck,daedric/buck,zhan-xiong/buck,artiya4u/buck,brettwooldridge/buck,davido/buck,shs96c/buck,rowillia/buck,1yvT0s/buck,lukw00/buck,tgummerer/buck,rhencke/buck,dpursehouse/buck,brettwooldridge/buck,raviagarwal7/buck,daedric/buck,Dominator008/buck,marcinkwiatkowski/buck,rmaz/buck,clonetwin26/buck,davido/buck,JoelMarcey/buck,vschs007/buck,romanoid/buck,brettwooldridge/buck,JoelMarcey/buck,k21/buck,mikekap/buck,raviagarwal7/buck,mnuessler/buck,illicitonion/buck,Addepar/buck,ilya-klyuchnikov/buck,raviagarwal7/buck,raviagarwal7/buck,lukw00/buck,zhan-xiong/buck,marcinkwiatkowski/buck,neonichu/buck,pwz3n0/buck,JoelMarcey/buck,justinmuller/buck,stuhood/buck,shybovycha/buck,neonichu/buck,k21/buck,nguyentruongtho/buck,Addepar/buck,JoelMarcey/buck,stuhood/buck,liuyang-li/buck,OkBuilds/buck,stuhood/buck,LegNeato/buck,SeleniumHQ/buck,LegNeato/buck,JoelMarcey/buck,shs96c/buck,sdwilsh/buck,darkforestzero/buck,robbertvanginkel/buck,lukw00/buck,sdwilsh/buck,luiseduardohdbackup/buck,janicduplessis/buck,dpursehouse/buck,illicitonion/buck,sdwilsh/buck,Addepar/buck,vine/buck,darkforestzero/buck,Distrotech/buck,rmaz/buck,brettwooldridge/buck,luiseduardohdbackup/buck,dsyang/buck,Heart2009/buck,OkBuilds/buck,sdwilsh/buck,rowillia/buck,liuyang-li/buck,stuhood/buck,zhuxiaohao/buck,darkforestzero/buck,JoelMarcey/buck,robbertvanginkel/buck,davido/buck,daedric/buck,OkBuilds/buck,Addepar/buck,romanoid/buck,shs96c/buck,shybovycha/buck,JoelMarcey/buck,artiya4u/buck,OkBuilds/buck,Learn-Android-app/buck,OkBuilds/buck,1yvT0s/buck,shs96c/buck,vschs007/buck,siddhartharay007/buck,facebook/buck,romanoid/buck,shybovycha/buck,mogers/buck,raviagarwal7/buck,Learn-Android-app/buck,dushmis/buck,lukw00/buck,kageiit/buck,mikekap/buck,janicduplessis/buck,darkforestzero/buck,LegNeato/buck,dsyang/buck,ilya-klyuchnikov/buck,zpao/buck,dsyang/buck,mikekap/buck,clonetwin26/buck,bocon13/buck,Addepar/buck,brettwooldridge/buck,SeleniumHQ/buck,daedric/buck,robbertvanginkel/buck,rhencke/buck,SeleniumHQ/buck,shs96c/buck,dsyang/buck,OkBuilds/buck,luiseduardohdbackup/buck,Learn-Android-app/buck,robbertvanginkel/buck,justinmuller/buck,clonetwin26/buck,clonetwin26/buck,siddhartharay007/buck,hgl888/buck,davido/buck,rmaz/buck,liuyang-li/buck,illicitonion/buck,vschs007/buck,brettwooldridge/buck,nguyentruongtho/buck,mnuessler/buck,dushmis/buck,shybovycha/buck,robbertvanginkel/buck,nguyentruongtho/buck,vschs007/buck,daedric/buck,justinmuller/buck,1yvT0s/buck,mogers/buck,ilya-klyuchnikov/buck,rowillia/buck,illicitonion/buck,SeleniumHQ/buck,Distrotech/buck,rowillia/buck,rowillia/buck,liuyang-li/buck,vschs007/buck,OkBuilds/buck,mikekap/buck,mikekap/buck,dsyang/buck,janicduplessis/buck,zhan-xiong/buck,shybovycha/buck,brettwooldridge/buck,marcinkwiatkowski/buck,rmaz/buck,facebook/buck,Dominator008/buck,marcinkwiatkowski/buck,zhuxiaohao/buck,vschs007/buck,k21/buck,robbertvanginkel/buck,tgummerer/buck,Distrotech/buck,Heart2009/buck,dushmis/buck,clonetwin26/buck,daedric/buck,k21/buck,Dominator008/buck,raviagarwal7/buck,darkforestzero/buck,shybovycha/buck,lukw00/buck,artiya4u/buck,vine/buck,artiya4u/buck,darkforestzero/buck,ilya-klyuchnikov/buck,siddhartharay007/buck,LegNeato/buck,stuhood/buck,zpao/buck,mogers/buck,raviagarwal7/buck,zpao/buck,marcinkwiatkowski/buck,darkforestzero/buck,robbertvanginkel/buck,dpursehouse/buck,grumpyjames/buck,davido/buck,janicduplessis/buck,Dominator008/buck,mogers/buck,neonichu/buck,grumpyjames/buck,shybovycha/buck,nguyentruongtho/buck,rmaz/buck,luiseduardohdbackup/buck,pwz3n0/buck,marcinkwiatkowski/buck,1yvT0s/buck,brettwooldridge/buck,zhuxiaohao/buck,mogers/buck,rmaz/buck,davido/buck,hgl888/buck,nguyentruongtho/buck,illicitonion/buck,luiseduardohdbackup/buck,clonetwin26/buck,k21/buck,illicitonion/buck,janicduplessis/buck,brettwooldridge/buck,dsyang/buck,rowillia/buck,pwz3n0/buck,hgl888/buck,LegNeato/buck,JoelMarcey/buck,hgl888/buck,rowillia/buck,nguyentruongtho/buck,zhan-xiong/buck,raviagarwal7/buck,daedric/buck,sdwilsh/buck,bocon13/buck,dushmis/buck,hgl888/buck,janicduplessis/buck,daedric/buck,pwz3n0/buck,liuyang-li/buck,clonetwin26/buck,justinmuller/buck,rmaz/buck,facebook/buck,zpao/buck,OkBuilds/buck,marcinkwiatkowski/buck,bocon13/buck,daedric/buck,hgl888/buck,Learn-Android-app/buck,SeleniumHQ/buck,k21/buck,janicduplessis/buck,raviagarwal7/buck,dsyang/buck,pwz3n0/buck,justinmuller/buck,lukw00/buck,k21/buck,JoelMarcey/buck,Dominator008/buck,kageiit/buck,facebook/buck,rmaz/buck,liuyang-li/buck,vschs007/buck,Distrotech/buck,liuyang-li/buck,dpursehouse/buck,shybovycha/buck,dpursehouse/buck,kageiit/buck,rmaz/buck,rhencke/buck,SeleniumHQ/buck,rhencke/buck,mikekap/buck,romanoid/buck,romanoid/buck,neonichu/buck,vschs007/buck,1yvT0s/buck,lukw00/buck,vine/buck,zhan-xiong/buck,SeleniumHQ/buck,raviagarwal7/buck,mogers/buck,pwz3n0/buck,romanoid/buck,darkforestzero/buck,dsyang/buck,SeleniumHQ/buck,vine/buck,zhan-xiong/buck,shybovycha/buck,MarkRunWu/buck