libtracker-miner: Fix TrackerCrawler cancellation
libtracker-miner: Fix TrackerCrawler cancellation

On tracker_crawler_stop()/cancellation, the various async callbacks
would poke memory that is no longer valid (The DataProviderData and
DirectoryRootInfo structs will be immediately destroyed, before the
callbacks are run).

This fixes multiple crash scenarios upon cancellation, the crawler
has been also simplified to use a single cancellable, since we'll
be just running one data provider/enumerator at a time.

outofbits/tracker,outofbits/tracker,outofbits/tracker,outofbits/tracker,outofbits/tracker,outofbits/tracker,outofbits/tracker