normalize x+x to x << 1 in later compiler phases

Also added a new matcher for the ia32 backend matching Shl(x,1) to
Lea(x,x).
ia32: fix DestAM Rol/Ror matcher

In the case of a Rol/Ror pattern the load value is used two times (by
the Shl+Shr), destAM matcher always matched for one user only.
ia32: use short encoding for Shl,Shr,Sar,Rol,Ror with immediate 1