More flexible constructors for Elias-Fano lists
More flexible constructors for Elias-Fano lists

Summary:
Implement constructors for EliasFanoCompressedList to read a list from a contiguous byte range given either size and upper bound, or size, lower bits width, and upper bits size.

Refactor the rest accordingly.

Test Plan: unit tests

Reviewed By: philipp@fb.com

Subscribers: trunkagent, chaoyc, search-fbcode-diffs@, unicorn-diffs@, folly-diffs@, yfeldblum, tudort, chalfant

FB internal diff: D2105658

Tasks: 5474196

Signature: t1:2105658:1433270469:9948b159504e08c1b00eeb4cbe327752364ec300

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