Apply button in Property editor does not close the editor window anymore. Adds an additional OK Button. Fixes https://bugs.launchpad.net/mixxx/+bug/913255
Update bpm-lock graphics in library table, similar to the preview graphics. More easy to differentiate between the actual lock state. Added graphics to the icon template.
Remove FromEngine linkage in bpmcontrol, helps with backtraces and preventing signal loops.
Make sure master bpm value gets set when a new master is activated.
Fix broken assignment in mock backend.
Initialize a default sample rate in Internal Clock so it's available during testing.
Major refactor of EngineSync / RateControl / BpmControl for master sync.

* Add SyncControl, an EngineControl that manages syncing for decks.
* Remove most BpmControl / RateControl logic dealing with sync.
* Add Syncable interface and make InternalClock and SyncControl implement it.
* Remove tracking the master with its group string -- instead use Syncable
  pointer to decide what is master.
* Treat InternalClock the same as SyncControls in master / follower logic.
* Add a SyncableListener interface for EngineSync (eventually use that instead
  of EngineSync to prevent future developers from calling methods on EngineSync
  we do not allow).
* Reduce risks of signal infinite loops by using a request/response setup where
  EngineSync makes all decisions.
* Some minor hacks were needed -- I hope to remove them.
* Tests pass but I had to change something I thought was a bug in the
  test. Please review, @owilliams.
* Left some tracing qDebugs in. These aren't too spammy and are quite helpful
  for debugging. I think we should leave them on during alpha testing.
* SyncControl gets its EngineChannel via its constructor instead of EngineSync
  dealing with setting up the EngineChannel of its syncables.
Remove option for EngineSync::activateMaster() to fail.

EngineSync::activateMaster() never actually fails (unless the programmer
accidentally passes a NULL value) so remove all the logic that checks if it
failed. This simplifies EngineSync a fair bit.
Merge pull request #114 from esbrandt/lp913255

Apply button in Property editor does not close the editor window anymore...
Ignore beat distance changes that don't from the master.
Silence noisy debug.
Silence more noisy debugs.
Merge pull request #119 from rryan/master_sync

Major refactor of EngineSync / RateControl / BpmControl for master sync.
Remove unused method.
Initialize these pointers to NULL for clarity.
Add QT_WIDGETS_LIB define when including QtWidgets module (need to push this upstream to the qt5.py maintainer).
Add missing QApplication include.
Fix DirectoryDao initialization order.
Merge branch 'master' into master_sync
Update comment.
Add warnings about signal loops to Syncable definition.
Remove opportunity for signal loops from SyncControl::setBpm.