lavf: preserve side data when parsing packets.
wavpack: remove the subframes codec cap

The decoder always consumes full packets.
wavpack: drop redundant if/else blocks
wavpack: switch to planar output

This simplifies the code and makes it faster.
wavpack: return 0 instead of samples count from decoding functions

The caller never cares about the number of decoded samples, so this only
confuses the reader.
wavpack: add an error message to a failure.
wavpack: remove a useless check.

Number of samples in the first block is checked to be strictly positive
earlier in wavpack_decode_frame() and number of samples in all the other
blocks is checked to be equal to the first one.
wavpack: return an error on 0-sized blocks

Such blocks are not valid.
wavpack: remove a useless parameter from wavpack_decode_block().

The decoder always returns output if an error does not occur.
wavpack: don't set sample format in init.

We don't know whether it will be float until we look at the data.