fireworks: Add skelton for Echo Audio Fireworks based devices

This commit add a new driver with no functionality. This driver just reacts to
Firewire bus events and create/remove card instance.

Current supported devices:
 - Mackie Onyx 400F/1200F
 - Echo AudioFire8(until 2009 July)/AudioFire12
 - Echo AudioFire2/4/8(since 2009 July)/Pre8
 - Echo Fireworks 8/HDMI
 - Gibson RIP/GoldTop
fireworks: Add Echo Fireworks transaction and commands

Fireworks uses its own system for transaction.

There are two ways for this transaction:
1.AV/C vendor dependent command for command/response
2.Specific addresses for command/response

With 1, some devices cannot response correctly to some commands. So this module
implement 2.

The address for response give us an issue. When this driver allocate its own
callback function into the address, then no one can allocate its own callback
function via Juju interface. Currently this commit don't solve this issue. This
issue is solved in later commit.
fireworks: Add stream and connection management

Fireworks transmit/receive AMDTP stream with a few quirks and manage the
connection by CMP.
fireworks: Add proc interface for debugging

This commit add proc interface to output infomation for debugging.
 - hardware capabilities
 - clock
 - meters
fireworks: Add MIDI interface

This commit adds the functionality to capture/playback MIDI message. MIDI
message is multiplexed/demultiplexed into AMDTP stream.
fireworks: Add PCM interface

This commit adds the functionality to capture/playback PCM samples.

PCM samples are multiplexed/demultiplexed into AMDTP stream safely with stream
helper functions.
fireworks: Add hwdep interface

This is for mixer/control application in user land. The application can
lock/unlock kernel streaming or get notification at starting/stopping kernel
streaming to use hwdep interface.
fireworks: add command/response interface for user land

Describe:
/dev/snd/hwdepCXDY command/response
resp_buf_size/resp_buf_debug
/proc/asound/cardX/#queues