Optimize (x&A)<<B>>B.

Add an optimization to simplifyExpressionsPre to replace `(x&A)<<B>>B` with `X&A`
if possible. This comes up frequently in C++ with bool variables.