asyncio: Make it possible to cancel DNS requests

Also do this from bittorrent UDP tracker code to avoid use-after-free crash
bittorrent: Active spinner when browsing torrents (during .torrent fetch)

Fixes #2377
bittorrent/browse: Set page.model.metadata.title to torrent's name

Fixes #2418