Don't free the downmix buffer in SoundManager until all devices are closed. Fixes a race condition where we get a callback after the SoundManager shutdown process has begun. Fixes Bug #1269196
Update getCompatibleKeys() to include the key as compatible with itself.
Update automatic display connection selection to use the last left-button or
no-button connection. If none are present, use the last right-button connection.
DlgPrefControls should not use DirectConnections for controls since it is not thread safe.
Print PortAudio version on startup.
Support Unicode sharp and flat symbol in traditional notation. Treat '#' and 'b' the same as the Unicode sharp and flat character for input.
Call AudioOutput::onOutputConnected and AudioOutput::onOutputDisconnected on
device open and close.

We do this for AudioInput::onInputConnected/AudioInput::onInputDisconnected but
apparently never finished implementing the other half :).
Add simple tracking of connected AudioOutputs in EngineMaster when outputs are
connected and disconnected.
Fix race condition in clearing leaked controls.
Fix some uninitialized variables discovered using valgrind.
Don't change the scaler if it is over-ridden for testing.
Only force vinyl mode to absolute on seek if the deck is playing.
Add compiler_is_gcc and compiler_is_clang variables to build object.
Add Clang-based features: address sanitizer and color diagnostics.
Remove unused BPMSCHEME_FILE and TRACK_FILE defines.
Turn headerpad settings into a proper linker-only command.

Clang complains it is not a valid compiler flag.
Merge branch 'master' into 4deck-init-take-2
Only correct deck count for ins and outs that refer specifically to deck counts.