future: add handle_exception() method
future: add handle_exception() method

This patch adds a "class future" method for handling an exception result
of the future. It is impossible to discard a future's exception while passing
through the value of the result (what will we pass in the case of
exception?), so we discard the result as well.

An example of how this can be used, to log an error (but otherwise do
nothing) if removing a file fails:

  remove_file(filename).handle_exception(
    [] (std::exception_ptr eptr) {
      print("Exception when deleting file: %s", eptr);
    });

Signed-off-by: Nadav Har'El <625169824b719df98706d88646d0aae6f368ae4d@cloudius-systems.com>

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