Listen for connection if not using proxy
Merge pull request #19 from rakoo/fix-useProxy

Listen for connection if not using proxy
Fix upload issues

- Send the bitfield to a peer upon adding
- Fix handling of keep-alives
- Remove filter of piece requests based on length (some request
	may have a different size, e.g last chunk of last piece)
Add profiling and Ctrl-C handling
Add support for magnet

To download a magnet, we don't fill the TorrentSession completely, only
with the InfoHash. We then add a few booleans for selecting the path of
a peerMessage: as long as the metadata is not completely downloaded,
we only treat metadata-oriented messages.
Add code suggestions from @nictuku
Merge pull request #22 from rakoo/profiling-ctrlc

Add profiling and Ctrl-C handling
Merge branch 'magnet' of git://github.com/rakoo/Taipei-Torrent into rakoo-magnet

Conflicts:
	torrent.go
Updated README.md

Just say to install the go envionment, since "Go One" is no longer
being promoted as the way to install go.

Stop using third person to refer to myself.
Clarify who "I" is.
Compartmentalize code

- Add a loop for multiple torrent sessions
- Move connection listening to its own file: new external connections
  are first verified for bittorrent correctness, and then only passed to
  the relevant torrent session
Merge pull request #24 from rakoo/multisession

Compartmentalize code
No need to wait for the DHT to 'fill'
Style cleanups of listen.go
Fix doc typo
Use fmt.Errorf, for consistency
Merge pull request #25 from nictuku/style

A few style improvements
Update .gitignore to ignore all testData
Merge pull request #27 from rakoo/testdata

Update .gitignore to ignore all testData