First version of auto-DJ crates.
I need some feedback on the GUI, but otherwise this feature should be ready for merging into the trunk!
Just some minor changes to comments.
Merged with trunk; minor updates to merge conflicting changes.
Now the auto-DJ-crates table stores the last time the track was played, and uses that to prioritize randomly-added tracks!
I thought the system didn't have that info...turns out it's stored as PlaylistTracks.pl_datetime_added for set-log playlists!

Also updated to latest trunk version.
Merged with lp:mixxx
Made the auto-DJ-crates feature subject to conditional compilation.
Implemented an "Add crate" menu on the "Crates" tree-item in the "Auto DJ" feature.
One more convenient way to add a crate to the auto-DJ queue!
Changed "Add Crate to AutoDJ" to "Connect to AutoDJ", and "Remove Crate from AutoDJ" to "Disconnect from AutoDJ", and fixed curly-brace placement, per Daniel Schürmann's feedback.
One more menu item needed updating -- "Add crate" is now "Connect Crate to AutoDJ".
Merged with lp:mixxx
Now random-tracks chosen by the auto-DJ-crates feature can be in terms of how recently the track was played.
Now auto-DJ-crates better handles situations where very few tracks are available.
One more change to low-track situations in auto-DJ-crates.
Merged with lp:mixxx
Added one word to auto-DJ-crates preferences text
Merge branch 'master' into auto-dj-crates

Conflicts:
	mixxx/res/schema.xml
	mixxx/src/dlgprefcontrols.cpp
	mixxx/src/library/trackcollection.cpp
Merge branch 'master' of https://github.com/mixxxdj/mixxx into auto-dj-crates
Fixed lots of formatting issues.
fix possible segfault with CachingReader::~CachingReader();
Because early returns are completely different than gotos, and _so_ much better...
Merge pull request #1 from ulatekh/auto-dj-crates

Auto dj crates