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.



Yeah, I wasn't sure about where to put it/what to do with it - but at least I didn't include Mockito :smiling_imp: 

Could always cherry pick 851280132d23c3b3f47dd4a8e83ba8e5cd13ecb3, if the test isn't needed.