flacdec: do not overwrite a channel layout set by the caller

The channel layout mask for non-standard layouts is typically stored at
the container level (as a vorbiscomment tag) for FLAC.
flac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag

It is used to store the channel mask for non-standard layouts.
flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files
flac: make avpriv_flac_parse_block_header() inline

This avoids all the ABI troubles associated with avpriv_.
Since this function is very small and does not depend on any tables,
making it inline should have no adverse effects.
matroskadec: split parsing tracks into a separate function
matroskadec: export just the STREAMINFO block as FLAC extradata

It contains all information that is used by the decoder and the other
FLAC-capable demuxers (flacdec, ogg) export only STREAMINFO as well.
matroskadec: parse the channel layout mask for FLAC

It is commonly stored in a vorbiscomment block in codec private data.
vorbiscomment: simplify API by using av_dict_count()
matroskaenc: write the channel mask for FLAC