tiny fbstring push_back(Char) optimization
tiny fbstring push_back(Char) optimization

Summary:
I noticed that push_back(Char) was slower for fbstring than
for std::string for long strings and found that I could make
it faster by inlining the call to mutable_data() and
exploit that it's always non-small and non-shared.

Benchmarks before:

./folly/test/FBStringTestBenchmarks.cpp.h       relative  time/iter  iters/s
BM_push_back_string(1)                                      69.42ns   14.41M
BM_push_back_string(23)                                    582.31ns    1.72M
BM_push_back_string(127)                                     1.47us  682.12K
BM_push_back_string(1024)                                    5.52us  181.07K
BM_push_back_fbstring(1)                                     9.55ns  104.74M
BM_push_back_fbstring(23)                                  212.45ns    4.71M
BM_push_back_fbstring(127)                                 864.00ns    1.16M
BM_push_back_fbstring(1024)                                  6.73us  148.52K

and after:

BM_push_back_fbstring(1)                                     9.55ns  104.74M
BM_push_back_fbstring(23)                                  212.45ns    4.71M
BM_push_back_fbstring(127)                                 783.08ns    1.28M
BM_push_back_fbstring(1024)                                  4.03us  248.05K

Test Plan: fbconfig folly/test && fbmake runtests

Reviewed By: tudorb@fb.com

FB internal diff: D646081

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