Refactor bitstream namespacing.
Add range utilities.

The new utility range_facade allows users to easily construct forward ranges
which in turn define light-weight iterators. A range_facade is-a range, which
is conceptually similar to a Boost range.
Make range_facade independent of state template.
Make static member symbols available to linker.
Add bit sequence iterator over null bitstreams.

This form of iteration traverses the bitstream in sequences, which are
typically referred to as "runs." We use the term "sequence" instead because this
term captures both the notion of a literal and a fill block.