Support BUFR messages with multiple segments

- Breaks API
Pass n_segments and compressed flags to section 4 decoder
Abort on compressed data
Fixed terminology: data subsets instead of message segments
Better error message
Descriptor table structure to handle replication

- Lazy sequence descriptors need to be able to look up replication descriptors that don't exist in the large table
Return descriptor table instead of plain dict

- To facilitate lookups of replication descriptors later
Refer to parts of current line, not the first line
More complete subset support
Mapping instead of dict in docs for B/D-table
Compressed data support