qcacmn: Add locks to serialization component

Serialization component's APIs may get called by various
component owners through different thread contexts. This makes
lock a mandatory requirement in order to prevent any shared data
corruption.

Implement abstract lock APIs within serialization component and
use them in all public serialization APIs which access various
command queues.

Protect the serialization list node by introducing a check for
the state of the node and check for the state before deleting
the node.

Change-Id: Ida74b2e958e37943f1ebedb854d5c35862813498
CRs-Fixed: 2226663
7 files changed