Fix exceptions being set on futures that are already done in ZeroMQ transport