Bug fixes and improvements for DoubleWidth prototype (#75209)
* Bug fixes and improvements for DoubleWidth prototype
Previously multipliedReportingOverflow and masking shifts were implemented incorrectly for signed types and non-power-of-two bitWidths, respectively. Address those two bugs and additional implement &+, &-, and &*.
* Restore line accidentally deleted