Move TrackDAO save logic for deleted TrackInfoObjects to ~TrackInfoObject.

Don't run TrackInfoObject database interactions the moment its TrackPointer
refcount drops to 0. Instead move this logic into the TrackInfoObject destructor
and run it on the next time through the Qt event loop. This helps prevent
action-at-a-distance re-entrancy bugs where you need to drop a TrackPointer
reference but your context isn't safe to do so.
Merge pull request #331 from rryan/tio

Move TrackDAO save logic for deleted TrackInfoObjects to ~TrackInfoObject