bebob: Use 'struct completion' to serialize functions related to bus reset

At bus reset, .update() should be called to update connections. But before
calling it, discontinuity of packets at bus reset is detected and
XRUN-recoverable applications call .prepare() immediately.

This commit use 'struct completion' and related functions to call .update()
at first.
firewire-lib: Fix a combination of CIP_EMPTY_HAS_WRONG_DBC/CIP_SKIP_INIT_DBC_CHECK

At the beginning of streaming, cached number of data block counter is set
UINT_MAX under a combination of
CIP_EMPTY_HAS_WRONG_DBC/CIP_SKIP_INIT_DBC_CHECK. This causes much detection
of discontinuity because firewire-lib acknowledge the first packet with data
is not continuous because 0x00 != 0xFF (UINT_MAX).