Rename default_encoded_bitstream.
Rip out now obsolete bitstream for validity.

Bitmaps take an entire domain of a arithmetic types. The notion of "valid"
makes only sense in the context of a bitmap *index*, which operates on values.
There, an empty value is a special case that we should distinguish from an
active value.
Unify return types of bitmaps (and bitmap indexes).

We used to return optional<B> with B being a bitstream type. Since many lookups
are only partially defined, e.g., just for operator == and !=, we can easily
end up with error cases. Previously, we dealt with these errors by throwing
excpetions. But we're trying to move away from exceptions entirely and use
the monadic trial/result abstractions instead.

In addition to switching to trial<B>, this commit makes the contained return
values uniform: previously we returned an empty optional<B> for a non-existant
value in a bitmap. This, however, is dependent on the concrete coder that the
bitmap uses. Some coders cannot even determine whether they have or don't have
a certain element, but can only return a bitstream with the result or all 0s.
Now bitmaps (and bitmap indexes) uniformly return either a bitstream of the
bitmap size for non-existant values.