Quit the Library Scanner event loop properly on shutdown.

We were accidentally only quitting when a scan was in progress.
Only request selection cover when selection has changed.
Don't save tracks when analysis is done. Related to Bug #1400866.

This prevents GUI hanging when analysis is complete for me.
Fix race conditions related to TrackPointer saving. Fixes Bug #1392557
and Bug #1397475.

* Change recent tracks cache to be a QCache of TrackCacheItem so that
  when a track is expired from the cache a strong reference to it is not
  lost until the track is saved. This prevents the race condition where
  the library (BaseTrackCache and friends) request track information
  during the period after the track has fallen out of the cache and
  before it is saved to the database (which results in stale data being
  shown in the library). Bug #1392557
* Fix issue where signals are blocked during shutdown so tracks are not
  saved. Bug #1397475.
Fix EQ selections incorrect when deck count changes from 2 to 4

Fixes lp:#1404808
Auto DJ: Create a simple bandaid for the case when decks 3 and 4 are playing.

This is not pretty, but we already do something similar when decks 1 and 2
are both playing, and we are out of time to design a nice way to handle a
"4-deck" autodj.

This will eventually be replaced with something nicer!

Also fixed the autodj button not getting un-pushed when the enabling failed.
Remove -6dB gain in EnginePregain. Fixes Bug #1404985.
Change replaygain boost range to allow negative values.
After scratching, sync phase if follower and quantized.
Added plausibility check for m_callbackEntrytoDac

If it is invalid, a one time warning is logged.
This is an attempt to fix Bug #1404803
fix EffectParameterSlot::syncSofttakeover()
Sync superbutton softtakeover after force write
VisualPlayposition: Move warning up
Merge branch 'master' into softtakeover-fix
remove syncsofttakeover call