Change ThreadManager interface to Executor
Change ThreadManager interface to Executor

Summary:
Change ThreadManager interface to more generic Executor interface.  Specific example of supporting fibers.  This diff would replace D1967655

Test Plan: added several unittests

Reviewed By: alandau@fb.com

Subscribers: doug, alandau, bmatheny, mshneer, folly-diffs@, jsedgwick, yfeldblum, chalfant, alikhtarov, andrii, yitingli

FB internal diff: D1994663

Signature: t1:1994663:1429640509:d729ce6f020563b680d1d549f9aa273c739eb925

cole14/folly,Hincoin/folly,floxard/folly,gaoyingie/folly,facebook/folly,upsoft/folly,KSreeHarsha/folly,kernelim/folly,kernelim/folly,PoisonBOx/folly,chjp2046/folly,PoisonBOx/folly,theiver9827/folly,tempbottle/folly,mqeizi/folly,xzmagic/folly,clearlylin/folly,constantine001/folly,guker/folly,raphaelamorim/folly,bobegir/folly,doctaweeks/folly,Orvid/folly,fw1121/folly,floxard/folly,sonnyhu/folly,doctaweeks/folly,tomhughes/folly,arg0/folly,guker/folly,yangjin-unique/folly,project-zerus/folly,SammyK/folly,brunomorishita/folly,SammyK/folly,tomhughes/folly,alexst07/folly,sonnyhu/folly,shaobz/folly,doctaweeks/folly,arg0/folly,arg0/folly,clearlinux/folly,gavioto/folly,theiver9827/folly,brunomorishita/folly,rklabs/folly,wildinto/folly,guker/folly,romange/folly,lifei/folly,SeanRBurton/folly,PPC64/folly,facebook/folly,charsyam/folly,project-zerus/folly,loverszhaokai/folly,theiver9827/folly,arg0/folly,clearlinux/folly,juniway/folly,Eagle-X/folly,yangjin-unique/folly,shaobz/folly,renyinew/folly,Eagle-X/folly,Eagle-X/folly,bikong2/folly,Eagle-X/folly,rklabs/folly,rklabs/folly,yangjin-unique/folly,charsyam/folly,juniway/folly,renyinew/folly,bobegir/folly,hongliangzhao/folly,hongliangzhao/folly,gaoyingie/folly,mqeizi/folly,renyinew/folly,bsampath/folly,guker/folly,raphaelamorim/folly,loversInJapan/folly,CJstar/folly,nickhen/folly,shaobz/folly,nickhen/folly,lifei/folly,loverszhaokai/folly,leolujuyi/folly,Eagle-X/folly,kernelim/folly,SammyK/folly,Orvid/folly,PoisonBOx/folly,Hincoin/folly,wildinto/folly,guker/folly,stonegithubs/folly,raphaelamorim/folly,fw1121/folly,sakishum/folly,mqeizi/folly,charsyam/folly,zhiweicai/folly,hongliangzhao/folly,PoisonBOx/folly,KSreeHarsha/folly,romange/folly,bsampath/folly,bowlofstew/folly,mqeizi/folly,facebook/folly,gavioto/folly,arg0/folly,brunomorishita/folly,fw1121/folly,renyinew/folly,lifei/folly,mqeizi/folly,leolujuyi/folly,nickhen/folly,SammyK/folly,reddit/folly,zhiweicai/folly,raphaelamorim/folly,reddit/folly,PoisonBOx/folly,sonnyhu/folly,tempbottle/folly,stonegithubs/folly,brunomorishita/folly,leolujuyi/folly,gavioto/folly,leolujuyi/folly,KSreeHarsha/folly,romange/folly,bikong2/folly,juniway/folly,tomhughes/folly,stonegithubs/folly,SammyK/folly,loversInJapan/folly,kernelim/folly,floxard/folly,Hincoin/folly,loversInJapan/folly,constantine001/folly,rklabs/folly,cole14/folly,sonnyhu/folly,loversInJapan/folly,sakishum/folly,theiver9827/folly,alexst07/folly,kernelim/folly,bikong2/folly,bikong2/folly,bsampath/folly,doctaweeks/folly,upsoft/folly,theiver9827/folly,leolujuyi/folly,PPC64/folly,xzmagic/folly,juniway/folly,cole14/folly,PPC64/folly,SeanRBurton/folly,CJstar/folly,bowlofstew/folly,chjp2046/folly,clearlylin/folly,constantine001/folly,Orvid/folly,bobegir/folly,project-zerus/folly,brunomorishita/folly,loverszhaokai/folly,xzmagic/folly,juniway/folly,bobegir/folly,colemancda/folly,cole14/folly,nickhen/folly,reddit/folly,floxard/folly,constantine001/folly,lifei/folly,nickhen/folly,stonegithubs/folly,KSreeHarsha/folly,colemancda/folly,renyinew/folly,project-zerus/folly,loverszhaokai/folly,fw1121/folly,alexst07/folly,gaoyingie/folly,tempbottle/folly,chjp2046/folly,bsampath/folly,CJstar/folly,loversInJapan/folly,charsyam/folly,stonegithubs/folly,colemancda/folly,shaobz/folly,wildinto/folly,gaoyingie/folly,hongliangzhao/folly,PPC64/folly,lifei/folly,doctaweeks/folly,sakishum/folly,facebook/folly,upsoft/folly,rklabs/folly,gaoyingie/folly,clearlylin/folly,KSreeHarsha/folly,clearlinux/folly,project-zerus/folly,constantine001/folly,clearlylin/folly,bowlofstew/folly,zhiweicai/folly,upsoft/folly,cole14/folly,alexst07/folly,clearlylin/folly,xzmagic/folly,PPC64/folly,tomhughes/folly,fw1121/folly,alexst07/folly,bowlofstew/folly,SeanRBurton/folly,loverszhaokai/folly,bowlofstew/folly,colemancda/folly,tempbottle/folly,romange/folly,reddit/folly,gavioto/folly,chjp2046/folly,Hincoin/folly,zhiweicai/folly,Orvid/folly,CJstar/folly,xzmagic/folly,SeanRBurton/folly,bikong2/folly,chjp2046/folly,clearlinux/folly,colemancda/folly,floxard/folly,bsampath/folly,sonnyhu/folly,sakishum/folly,raphaelamorim/folly,yangjin-unique/folly,Hincoin/folly,zhiweicai/folly,hongliangzhao/folly,yangjin-unique/folly,CJstar/folly,SeanRBurton/folly,sakishum/folly,tempbottle/folly,upsoft/folly,bobegir/folly,wildinto/folly,clearlinux/folly,romange/folly,reddit/folly,gavioto/folly,tomhughes/folly,wildinto/folly,shaobz/folly,facebook/folly,Orvid/folly