future: optimize data-less future<>
future: optimize data-less future<>

A future that does not carry any data (future<>) and its sibling (promise<>)
are heavily used in the code.  We can optimize them by overlaying the
future's payload, which in this case can only be an std::exception_ptr,
with the future state, as a pointer and an enum have disjoint values.

This of course depends on std::exception_ptr being implemented as a pointer,
but as it happens, it is.

With this, sizeof(future<>) is reduced from 24 bytes to 16 bytes.

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