Remade the code at tracker so it looks much cleaner.

Will start working at keeping peers, and not hammering the tracker
Changed local ip machine at udp request to 127.0.0.1
Added events on trackers

The client tells the tracker when download stops or completes.

Also govet-ed tracker , bitfield and bencode
Fixed travis
Added choke and uninterested at peers

Also added peers mapping
Added peers management and changed requesting to trackers every 3.5 minutes

Also replaced dial with dialTCP because its way faster. Because of this speed doubled
Small commit.

Changed magic numbers in downloaded to constants.

Another note : the download speed is constant now , doesnt change so much.
Added choking events on peer
Added choke events
Added general message parsing(small commit)

Starting to look better now, should increase download speed
Improved speed , by keep the best peers
Cleaned up code, fixed one small bug.

Speed should be very stable now
Merge branch 'user_interface' of https://github.com/bbpcr/Yomato into user_interface
Merge branch 'user_interface' of https://github.com/bbpcr/Yomato into user_interface
Merge branch 'user_interface' of https://github.com/bbpcr/Yomato into user_interface