core: add circular_buffer
core: add circular_buffer

Since we have lots of queues, we need an efficient queue structure,
esp. for moveable types.  libstdc++'s std::deque is quite hairy,
and boost's circular_buffer_space_optimized uses assignments instead of
constructors, which are both slower and less available than constructors.

This patch implements a growable circular buffer for these needs.

hongliangzhao/seastar,tempbottle/scylla,rentongzhang/scylla,shyamalschandra/seastar,scylladb/seastar,flashbuckets/seastar,ducthangho/imdb,hongliangzhao/seastar,dwdm/seastar,joerg84/seastar,glommer/scylla,acbellini/seastar,victorbriz/scylla,dwdm/scylla,tempbottle/seastar,senseb/scylla,shaunstanislaus/scylla,flashbuckets/seastar,scylladb/scylla-seastar,bzero/seastar,stamhe/seastar,jonathanleang/seastar,duarten/scylla,jonathanleang/seastar,bowlofstew/seastar,aruanruan/scylla,rluta/scylla,cloudius-systems/seastar,bowlofstew/scylla,raphaelsc/scylla,dwdm/seastar,scylladb/scylla,syuu1228/seastar,gwicke/scylla,respu/scylla,raphaelsc/seastar,acbellini/seastar,slivne/seastar,wildinto/scylla,acbellini/scylla,slivne/seastar,linearregression/seastar,aruanruan/scylla,kangkot/scylla,acbellini/scylla,leejir/seastar,wildinto/scylla,tempbottle/seastar,eklitzke/scylla,shaunstanislaus/scylla,kjniemi/seastar,guiquanz/scylla,wildinto/seastar,eklitzke/scylla,anzihenry/seastar,koolhazz/seastar,scylladb/scylla,slivne/seastar,linearregression/scylla,rentongzhang/scylla,norcimo5/seastar,xtao/seastar,kjniemi/seastar,justintung/scylla,aruanruan/scylla,eklitzke/scylla,printedheart/seastar,scylladb/seastar,cloudius-systems/seastar,kjniemi/seastar,flashbuckets/seastar,stamhe/scylla,hongliangzhao/seastar,capturePointer/scylla,mixja/seastar,norcimo5/seastar,shyamalschandra/seastar,syuu1228/seastar,raphaelsc/scylla,stamhe/scylla,chunshengster/seastar,xtao/seastar,wildinto/scylla,scylladb/seastar,acbellini/seastar,kangkot/scylla,kjniemi/scylla,gwicke/scylla,rluta/scylla,bowlofstew/scylla,avikivity/seastar,linearregression/scylla,glommer/scylla,avikivity/seastar,duarten/scylla,xtao/seastar,bzero/seastar,syuu1228/seastar,raphaelsc/seastar,mixja/seastar,koolhazz/seastar,stamhe/seastar,avikivity/scylla,respu/scylla,tempbottle/seastar,glommer/scylla,cloudius-systems/seastar,scylladb/scylla,chunshengster/seastar,phonkee/scylla,norcimo5/seastar,dreamsxin/seastar,avikivity/scylla,anzihenry/seastar,rentongzhang/scylla,kjniemi/scylla,printedheart/seastar,koolhazz/seastar,bowlofstew/seastar,sjperkins/seastar,asias/scylla,dwdm/seastar,capturePointer/scylla,bowlofstew/scylla,linearregression/seastar,guiquanz/scylla,dreamsxin/seastar,scylladb/scylla-seastar,gwicke/scylla,phonkee/scylla,raphaelsc/scylla,linearregression/seastar,scylladb/scylla,acbellini/scylla,senseb/scylla,asias/scylla,dwdm/scylla,justintung/scylla,senseb/scylla,anzihenry/seastar,phonkee/scylla,sjperkins/seastar,tempbottle/scylla,asias/scylla,bowlofstew/seastar,victorbriz/scylla,tempbottle/scylla,bzero/seastar,rluta/scylla,dwdm/scylla,wildinto/seastar,joerg84/seastar,leejir/seastar,mixja/seastar,guiquanz/scylla,scylladb/scylla-seastar,respu/scylla,avikivity/seastar,ducthangho/imdb,dreamsxin/seastar,kjniemi/scylla,printedheart/seastar,sjperkins/seastar,linearregression/scylla,victorbriz/scylla,leejir/seastar,chunshengster/seastar,justintung/scylla,stamhe/scylla,joerg84/seastar,raphaelsc/seastar,jonathanleang/seastar,ducthangho/imdb,wildinto/seastar,kangkot/scylla,shaunstanislaus/scylla,capturePointer/scylla,shyamalschandra/seastar,duarten/scylla,avikivity/scylla,stamhe/seastar