snd-firewire-lib: add processing syncronized streams

When dealing with a pair of receive and transmit AMDTP streams, there are two
possibilities for synchronization. One is "driver as master of sync" and
another is "device as master of sync". The synchronization is done by
processing "presentation time" in the syt field of AMDTP header. The master
transmits "presentation time" and the slave recalculate it and re-transmits.

For example, snd-firewire-speakers works in "driver as master of sync" mode.
Fireworks has several modes to set "Clock Source". When "SYT MATCH" is set,
it's in the same mode. But when the others is set, it's in "device as
master of sync" mode.

For full duplex mode, each driver should arrange a pair of streams.

In "driver as master of sync" mode,
- playback stream can run independently.
- capture stream should run after playback stream runs.

In "device as master of sync" mode,
- capture stream can run independently.
- playback stream should run after capture stream runs.

This commit just add two members in to struct amdtp_stream, two helper
function and some arrangement into functions exists. The main purpose of this
is deliver the value of syt field in receive AMDTP packet to transmit stream.
So this is a helper for "device as master of sync" mode.

On the other hand, this is not a helper for "driver as master of sync" mode
because there is no need to deliver between transmit and receive streams.

Anyway each drivers should handle both of streams correctly.
snd-fireworks: update comment about PCM function