Fixing Bits - more considerate about set bits.

The current Bits implementation doesn't cope well when the backing array differs in length. This affects:
- **hashcode/equals:** hashcode and equality should only consider set bits.
- **bitwise operations, except andNot():** only performs the operation up to the length of the shortest array.



We've had it [up to here](http://i.imgur.com/mqIip0z.png) with your [shenanigans](https://www.youtube.com/watch?v=MFZG8KQJni8) @MobiDevelop!