saturate to 0 or -1 for large bit shift amounts. fixes #2241
Merge branch 'master' of github.com:JuliaLang/julia