Rename the "Reload from Musicbrainz" option in the context menu and optimize MB dialog, https://bugs.launchpad.net/mixxx/+bug/1184157
Merge pull request #27 from esbrandt/lp1184157

Rename the "Reload from Musicbrainz" option in the context menu and opti...
Introduce static get and set functions for ControlObject
Merge pull request #28 from daschuer/atomic-co

Introduce static get and set functions for ControlObject
Check for NULL TrackModel in WTrackTableView::dropEvent.
MIDI controllers have been broken since the CO/COT merge. Let scripts react to control changes they make -- this restores the <=1.11 behavior of ControllerEngine.
Fix library controls so they do not ignore no-op sets.

The collapsing of CO and COT caused a subtle change in behavior which
has broken MIDI controller use of LibraryControl's controls. In Mixxx
<=1.11, ControlObject::sync() would deliver control updates from
ControlObjectThreads to its proxies regardless of whether the control
ignored the update due to it being a no-op.

Now our control updates obey ignore-no-ops so both the CO and its COTs
do not receive an update if ignore-no-ops is enabled. Since this is
the intended behavior of ignoring no-ops, we should fix the faulty
controls rather than mimicking <=1.11.x behavior.

In this case, the problem is fixed for LibraryControl controls by
using ControlPushButton instead of ControlObject, since
ControlPushButton does not ignore no-ops.
Add container utility method for deleting values in a QMap.
Get rid of 10-deck/sampler/preview-deck hard-coding in LibraryControl. Eliminate now-unnecessary use of ControlObjectThreadMain.
Pre-allocate QByteArray size when building message to send in Controller::send.
Fix assumption in PlayerInfo that the number of decks does not change.
Change EngineXfader to use double-precision floating point.
Fix warnings here and there.
small changes due to coding guideline
merge with upstream
add comment about library scan