thrift: handle exceptions thrown in non-continuation part of thrift handler
thrift: handle exceptions thrown in non-continuation part of thrift handler

Our thrift code performs an elaborate dance to convert a result/exception
reported in a future<> to the cob/exn_cob flow required by the thrift
library.  However, if the exception if thrown before the first continuation,
no one will catch it will be leaked, eventually resulting in a crash.

Fix by replacing the complete() infrastructure, which took a future as a
parameter, with a with_cob() helper that instead takes a function to
execute.  This allows it to catch both exceptions thrown directly and
exceptions reported via the future.

Fixes #133.

justintung/scylla,capturePointer/scylla,asias/scylla,linearregression/scylla,stamhe/scylla,scylladb/scylla,eklitzke/scylla,dwdm/scylla,duarten/scylla,glommer/scylla,respu/scylla,duarten/scylla,victorbriz/scylla,kjniemi/scylla,scylladb/scylla,linearregression/scylla,tempbottle/scylla,bowlofstew/scylla,asias/scylla,dwdm/scylla,capturePointer/scylla,gwicke/scylla,victorbriz/scylla,glommer/scylla,rentongzhang/scylla,capturePointer/scylla,bowlofstew/scylla,eklitzke/scylla,kangkot/scylla,guiquanz/scylla,gwicke/scylla,acbellini/scylla,aruanruan/scylla,phonkee/scylla,acbellini/scylla,linearregression/scylla,duarten/scylla,bowlofstew/scylla,raphaelsc/scylla,wildinto/scylla,aruanruan/scylla,phonkee/scylla,justintung/scylla,senseb/scylla,rluta/scylla,scylladb/scylla,tempbottle/scylla,tempbottle/scylla,senseb/scylla,avikivity/scylla,guiquanz/scylla,phonkee/scylla,acbellini/scylla,shaunstanislaus/scylla,shaunstanislaus/scylla,kjniemi/scylla,scylladb/scylla,rentongzhang/scylla,stamhe/scylla,victorbriz/scylla,avikivity/scylla,respu/scylla,respu/scylla,asias/scylla,glommer/scylla,wildinto/scylla,senseb/scylla,stamhe/scylla,raphaelsc/scylla,rluta/scylla,avikivity/scylla,kangkot/scylla,wildinto/scylla,rluta/scylla,shaunstanislaus/scylla,kangkot/scylla,eklitzke/scylla,justintung/scylla,rentongzhang/scylla,gwicke/scylla,kjniemi/scylla,aruanruan/scylla,guiquanz/scylla,dwdm/scylla,raphaelsc/scylla