This patch replaces the separate APInts for KnownZero/KnownOne with a single KnownBits struct. This is similar to what was done to ValueTracking's version earlier today.
This should be a largely mechanical transformation from KnownZero to Known.Zero.
There are a few several places where I replaced
KnownZero = KnownOne = APInt(KnownZero.getBitWidth(), 0)
with
Known.Zero.clearAllBits(); Known.One.clearAllBits();
since the width was already dependent on KnownZero.