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
Why this special case where you evaluate as regular Number, stringify, and then make it a BigNumber? Is this for performance?