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")
Updated to letest deverloper_skins
Merge branch 'master' into daschuers_trunk
Ignore MIDI_NOTE and rely on dParam when mapping Midi Pushbuttons.
Probably fixes https://bugs.launchpad.net/mixxx/+bug/1277449
Merge branch 'midi_note_ignore' into daschuers_trunk
switched german keyboard mapping to sync_enabled
Merge pull request #174 from daschuer/sync_enabled

Endless Loop fix with quatize on + some refactoring
Renamed files from enginepassthrough -> engineaux
Renamed Class EnginePassthrough to EngineAux (Thank you Eclipse;-))
Fixed some remaining renames in comments and strings
renamed group from "[PassthroughN]" to "[AuxN]"
Rename Passthroug to AUX in sound preferences
Updated to latest res/developer_skins
fixed typo
Renamed the AUX to the Auxilliary in user visible strings for all English speakers. A suitable German translation would be AUX-Eingang.