_rd_dat_signals: add support for FLAC formats (508, 516, 524).
_rd_dat_signals: add support for FLAC formats (508, 516, 524).

These format codes are used to designate FLAC signal files.  Format
508 indicates 8-bit, format 516 indicates 16-bit, and format 524
indicates 24-bit resolution.  Other format codes between 500 and 532
(inclusive) are reserved.

A FLAC signal file contains between one and eight channels, which are
sampled at the same frequency.  Therefore, all signals stored in the
same signal file must have the same number of samples per frame.  (If
a record contains more than eight signals, or if they have differing
sampling frequencies, they will require more than one signal file.)

Note that the number of samples per frame has no effect on the
encoding or decoding of the FLAC signal file; there is no interleaving
like there is in a binary signal file.  There is also no requiremement
that WFDB frame boundaries match up with FLAC compression-block
boundaries.

(Perhaps confusingly, the FLAC specification uses the word "frame" to
refer to the encoded form of a block of samples; this has nothing to
do with WFDB frames, and unless otherwise noted, the word "frame"
refers to a WFDB frame.)

To simplify this initial implementation, the function
_rd_compressed_file is nearly a drop-in replacement for _rd_dat_file,
which means that this function must rearrange the input data into the
format that _rd_dat_signals expects.

MIT-LCP/wfdb-python