Fix SHIFT CC#2067

Replace *undefined arithmetic*
Detect overflow of arithmetic shift
Fix [CC#2067](http://issue.cc/r3/2067)
Tested in Linux (0.4.4) with 48 progressions and no regression.