Add more tests of the first or first two elements to detect edge conditions.
Try adding "safe_sub" for safely subtracting uints with an assert! check.
Add a test that reveals a bug in bitbucket.shift_out(0).
Fix a bug where shifting by uint::bits is undefined in LLVM.