BigNumber bitwise opts

As of now the gated bitwise opts are completely precise; it doesn't make sense any other way. However, the shifts are not fully precise; I wanted to get your opinion on that.

There a few touch-ups in here, as well as the addition of `~` into the parser.
#86