Describe the bug
If you create a BooleanBufferBuilder with a non-zero capacity, the produced Buffer will have that capacity / 8 as the length. Even if you don't write that many bits to the buffer
To Reproduce
let mut b = BooleanBufferBuilder::new(8);
let buffer = b.finish();
assert_eq!(0, buffer.len());
Expected behavior
The buffer length should match the amount of data written to it
Additional context
Add any other context about the problem here.