Fix stuttering and loud buzzes when changing sound configuration.

Depending on your audio configuration, changing devices can cause stuttering
or (at low latencies) a loud buzz due to buffer under-runs caused by clearing
the clock reference device before all SoundDevices are closed. This causes the
engine to not process during callbacks where only some of the devices are closed
but the clock reference device is not closed yet.

* Don't clear m_pClkRefDevice in SoundManager::setupDevices(). This leads to
  dozens of buffer-underruns because the engine is not processed while we are
  closing every SoundDevice (which can block for a while).

* Some misc. SoundManager cleanups.
Add a comment describing the way forward for getting rid of needless re-opening
of devices when making audio hardware configuration changes.
Fix vinyl control manager so it loads preferences for decks created by skins.
Only write preferences for decks that existed
Prevent attempts at reading NULL vinyl control CO
use a QList instead of array for vc enabled COs.