Fix potential bug if bitvector is empty.
Add an iterator adaptor to faciliate composition.

The iterator_adaptor facilitates iterator composition in the same was as it's
Boost counterpart does, at much simpler level.
Expose more block-level functionality.