const& and tweaks to Mac directory canonicalisation.
Start work on moving everything that uses taglib out into an external process.
Move everything around in the source tree - static libraries and external binaries now go in "ext/".  Add a generic worker pool.
Don't crash when the playlist view in the smart playlist preview doesn't get a Player*.
Add Chromaprint to 3rdparty.
Add debian copyright for chromaprint.
Build & link against Chromaprint.
Add Chromaprinter class to generate fingerprint from gstreamer PCM output.
* Use Chromaprinter instead of OFA fingerprinter.
* Send fingerprint to Acoustid instead of MusicDNS.
* Retrieve MBID instead of PUID and send to Musicbrainz.
Remove old OFA fingerprinter.
Remove echoprint.
Disable callbacks after generating fingerprint.
Rename MusicDNS -> Acoustid.
Port Musicbrainz track lookups to API v2.
Remove chromaprint shared lib target.
Reorder DLL deletions.
The external tagreader mostly works now:

 * Make TagReaderClient a singleton until it's easier to pass dependencies around
 * Add a WaitForSignal() that uses a local event loop to wait for a signal to be emitted
 * Add a WaitForFinished() to _MessageReplyBase that blocks using a semaphore
 * Add blocking versions of all TagReaderClient methods
 * Use the TagReaderClient everywhere that Song::InitFromFile and friends were used before
Remove unused bits from 3rdparty/chromaprint
Use the system version of libchromaprint if available
Add chromaprint/fftw dependencies to the debian control and rpm spec files