Based on the suggestion in D58329, this changes the existing computeOverflowForUnsignedAdd/Sub methods to detect never/always overflow conditions more accurately.
Rather than calling computeForAddSub() with an extra bit (which would be pretty wasteful, as we're not interested in the addition result here at all), I'm writing out the overflow conditions explicitly.
I've added some explicit tests for saturating add/sub (as we can see both always+never overflow there), but there's also some additional nuws inferred in other tests.