Several code fixes: changed piecesDownloading into a bit field and changed the download status print to output only once a second
Added piece manager , and we request now more efficiently
Greatly increased download speed. Also renamed and moved some functions
Added tracker response so we can see the response from tracker nicely
Refactored the code a lot, it's much easier to read and also the implementation is better. Removed useless code but still much to be done. Gofmt-ed and Govet-ed the peer.go
added Ubuntu torrent file for testing
added excludes list to CLI
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
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
Lots of refactoring and fixes
Incapsulated piece manager , added mutex inside piece_manager , deleted the one from downloader
Added keep alive for connected peers
Pieces are now randomly downloaded. You can also resume downloads
Added transactions, Inserts are slow otherwise in a Sqlite database
added SHA-1 checks + repairs at download end
write blocks to database every once in a while instead of every time a block is written
write blocks to database every once in a while instead of every time a block is written