[WIP, RFC] Magnets and DHT

This is again a RFC thread. I'm taking small steps so it may take some time. I'm hoping to implement magnet URI parsing and DHT.

Note that I'm learning this stuff on the way. Here are resources that I'm referring:

* http://en.wikipedia.org/wiki/Magnet_URI_scheme this page contains non-standard stuff that we may encounter in the wild.
* http://bittorrent.org/beps/bep_0009.html
* http://www.bittorrent.org/beps/bep_0005.html
* http://stackoverflow.com/questions/1181301/how-does-a-dht-in-a-bittorent-client-get-bootstrapped and similar SO threads.
* http://en.wikipedia.org/wiki/Mainline_DHT

Again, I'll do a lot of commits and squash before merging.

At one point I'll need support of some other features but I think I have a lot to do before I reach to that point.