Switch to callbacks in DownloadManager

For some reason, Tribler and Dispersy don't mind when you call the download functions in a Tribler Session directly on a pc, but will freeze when you do so on Android. Using callbacks like this doesn't fully fix the problem, but makes freezes far less likely than before.
Always return an integer, even on failure
Enable videoplayer for vod streaming and actually stop tribler session on shutdown
Merge branch 'tribler-dmfreezefix' into tribler-downloadmanager