Add support for Client.add callbacks.

convenience callback.
Sometimes you want a callback for a specific torrent.
cb is run before client.emit('torrent').
fix jsdoc comment
Merge branch 'Client.add-callbacks' of github.com:ivantodorovich/bittorrent-client into ivantodorovich-Client.add-callbacks
cleanup how client.add listener is added
0.0.3
client.add callback called for single torrent
0.0.4
ensure client.add('', cb) is a function
fixed an ordering bug when adding a torrent in buffer form; added trackersEnabled option to Client and Torrent; enforced DHT enabling/disabling. the latter two changes make it easier to test the Clients on real torrents in isolation from external peers. also added an interesting test case to transfer ut_metadata between two local Clients, both with DHT and trackers disabled
fixed a subtle bug in storage and added more unit tests
Support torrents with zero-length files
remove trailing whitespace
use deepEqual for metadata test
update ut_metadata to 2.0.1
remove underscore dep
simplify some code
make api chainable
Test supported torrentInfo types
0.0.5
use sub-piece granularity for downloaded estimate