Refactoring of tracker server and torrent library.

User#SelectSecret() now operates on a string and handles encoding.
(As the primary use-case involves receiving a string from torrent clients.)

Peer objects are now split-up into an [on-demand] bencodable peer and a peer w/ status information.

GetPeerList() is now slightly-less-naive. -- It will return up to 30 peers currently.