Fix CAT width inference

There's also a test for this.
Remove most widths from the CAT test case

This still isn't perfect: it can't deal with having a RSH operation
that doesn't have an attached width.  I think this may actually be
impossible to solve for, as the RSH operation can actually change the
width to something arbitrary (in other words, there's just not enough
information to get rid of the RSH here).