snd-bebob: support channel remapping

The posision of each channel in a data block of AMDTP packets is not "linear".
Here I use "linear" to mean the position is not the same as PCM or MIDI
position.

For example, Yamaha Go44:
	channel 0: PCM5 (Digital4)
	channel 1: PCM0 (Analog0)
	channel 2: PCM2 (Analog1)
	channel 3: PCM6 (Digital5)
	channel 4: PCM1 (Analog2)
	channel 5: PCM4 (Analog3)
	channel 6: MIDI0

The driver can understand these positions by bridgeco's AVC extension of
"plug info" command. these are several extensions but this driver utilize
two of them for this purpose. One is "Plug Channel Position Specific Data"
command and another is "Cluster Info Specific Data" command. The former
givess the number of clusters in a data block, the number of channels in each
cluster, the position and "location" of each channel. The latter gives the type
of cluster. (Here "location" means left, right center and so on...)