Make extra_bits() public to ease block-level ops.

Since we allow both block-level in addition to bit-level operations on a
bitvector, the function extra_bits becomes now relevant for users as well.
Add functions to access the first/last blocks.

These convenience functions often facilitate block-level access.
More convenience structures.
Implement block-wise appending in bitstreams.

We need this functionality to implement bitwise operation on compressed
bitstreams.

Relates #26.