bebob: Add support for Focusrite Saffire/SaffirePro series

This commit allows this driver to support all of models which Focusrite
produces with DM1000/BeBoB. They are:
 - Saffire
 - Saffire LE
 - SaffirePro 10 I/O
 - SaffirePro 26 I/O

This commit adds Focusrite specific operations:.
1. Get source of clock
2. Change sampling frequency
3. Get metering information

The driver uses these functionalities to read/write specific address by async
transaction.
bebob: Add support for M-Audio Firewire series

This commit allows this driver to support all of models which M-Audio produces
with DM1000/BeBoB. They are:
 - Firewire Solo
 - Firewire AudioPhile
 - Firewire 410
 - Firewire 1814
 - Ozonic
 - NRV10
 - ProjectMix I/O
 - FirewireLightBridge

This commit adds M-Audio specific operations, quirks and functionalities. They
are categorized to three parts.

1. sending cue to load firmware
This is for 'Firewire Audiophile', 'Firewire410', 'Firewire1814' and
'ProjectMix I/O'. With firmware version 5058 or later, they wait to receive a
cue to load firmware just after powering on. With less firmware version, they
wait to upload firmware binary blob so this driver can't handle this versions.
This functionality can be implemented in user land but currently in kernel land
for my convinience.

2. switching source of clock
This if for 'Firewire Solo', 'Firewire Audiophile', 'Firewire410',
'Firewire1814' and'ProjectMix I/O'. They can switch source of clock with signal
source command but the value of parameters is a bit different.

3. handling metering information
This is all of models, mainly for my debugging. This information includes
information for clock synchronization.

Firewire1814 and ProjectMix I/O has BeBoB firmware but it's heavily customized.
The usual operations given by BeBoB aren't be applied for them. For this reason,
this commit add some model specific members in 'struct snd_bebob' and model
specific functions and control interface.