Fix potential crash in Session::execute(MessageBody* statement)

In Session::execute(MessageBody* statement), request_handler could possibly be deleted between execute(request_handler) and return request_handler->future(). A valid future could not then be returned. The future to be returned should be saved before the executing the request_handler.