The considered_lost variable is used to calculate rack's pipe. The idea
is that anytime we consider a piece of data lost we mark it and add to the
considered_lost variable, which the pipe() function uses. When a piece of
data is ack'd we need to consistently remove the lost flag and lower the count.
The code was scattered thru rack since you can become "acked" in multiple places
i.e. cum-ack movement or sack. This refactors the considered lost reduction so that
we have a common function (inlined) that reduce the considered_lost and removes the
flag as well as lowers the count.
No functional changes are intended here, just a bit of cleanup to make sure things are
consistent. This also means in a couple of places we may remove the mark before freeing
the data, which is ok.