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.