Support for UDP trackers

Created an interface for trackers, and separated existing implementation into HttpTracker, and added UdpTracker.
The 0x41727101980 constant should probably be a const; I had to look up the protocol spec to see what it meant.