Started work on added drag and drop from deck to deck
Added WTrackProperty droppedTrack functionality
Added WTrackText droppedTrack functionality
Added drag functionality starting from WTrackText and WTrackProperty
Merge branch 'master' into feature/deck-to-deck

Conflicts:
	src/skin/legacyskinparser.cpp
Updated tooltips to reflect the new drop functionality
Removed incomplete trackproperty test
fix #1273333. Don't rollback on cancel

Only rollback the library if we had another problem then canceling the
recursive scan.
save hashes only after we scanned a folder
Add ColumnCache class for maintaining a reverse index of column to position and
doing efficient column index lookups.
Switch BaseTrackCache and BaseSqlTableModel to use ColumnCache.
Add LIBRARYTABLE_PREVIEW definition.
Convert most uses of fieldIndex to use the integer-based version provided by ColumnCache.

Fixes a lot of hotspots identified when profiling rapid scrolling of the
library. For some simple QAbstractItemModel calls such as flags/data/etc. We
were doing ten to twenty QHash lookups per call.

The main effect of this is that the variance of these methods is drastically
reduced. They

BaseSqlTableModel::data max duration dropped from 6.7ms to 200us.
BaseSqlTableModel::flags max duration dropped from 459us to 122us.

Before:

Debug [Main]: Stat("BaseSqlTableModel::data","count=116189,sum=3.95154e+08ns,average=3400.96ns,min=61ns,max=6.73647e+06ns,variance=4.47143e+08ns^2,stddev=21145.8ns")
Debug [Main]: Stat("BaseSqlTableModel::fieldIndex","count=359787,sum=1.24198e+08ns,average=345.197ns,min=63ns,max=425162ns,variance=647674ns^2,stddev=804.782ns")
Debug [Main]: Stat("BaseSqlTableModel::flags","count=16235,sum=1.99808e+08ns,average=12307.3ns,min=7143ns,max=459422ns,variance=2.95675e+07ns^2,stddev=5437.6ns")

After:

Debug [Main]: Stat("BaseSqlTableModel::data","count=65178,sum=1.9198e+08ns,average=2945.48ns,min=46ns,max=222070ns,variance=4.16533e+07ns^2,stddev=6453.94ns")
Debug [Main]: Stat("BaseSqlTableModel::fieldIndex","count=203124,sum=3.24614e+07ns,average=159.811ns,min=52ns,max=29400ns,variance=28627.4ns^2,stddev=169.196ns")
Debug [Main]: Stat("BaseSqlTableModel::flags","count=9126,sum=9.51987e+07ns,average=10431.6ns,min=5844ns,max=122019ns,variance=1.60006e+07ns^2,stddev=4000.08ns")
some code cleanups
Fix possible race condition with seek positions on 32 bit architectures
Some minor refactoring of seek queue
Some coding style fixes
removed null seeks when changing scale or direction
Removed null play button sets. This fixes Bug #1276842 endles loops with quatize enabled
fixed double getPhaseOffset() call when pressing play and quatized on