Add loggers in lib/log.js

Winston library used for logging.
Two loggers added, tracker and indexer
Don't send back peers when stopped event recieved

Change some logs and fix bug in tracker.js:85-87
Fix info.pieces encoding problem

Problem was when decoding torrent file, pieces is given as buffer of bytes. But when converted to string or saved in db as string the encoding causes problems in length of pieces string (which according to BitTorrent specs should be counted as ascii bytes not unicode)
To fix it changed info.pieces type in TorrentData schema to buffer
Add torrent_list action

Using mongodb full-text-search for searching torrents. Package mongoose-text-search added to package.json and indices made in Torrent model (models/torrent.js)

torrent changed to torrent_data in Torrent model
Change directory structure and seperate web and tracker into seperate apps

Web and Tracker are now two seperate applications implemented in web/ and tracker/ directories. Models are shared between them in the models/ directory. Each application is run with the app.js file in it's directory. An app.js is placed in the root directory which runs the application specified in its arguments. Applications should be run using this since some initializations (such as creating log directories) are done in here.
The config.js in the root directory specifies overall configurations such as db settings and urls. Application specific settings such as routes and express configurations are moved to settings/ directory in each app.
Logging is not shared and has been moved to applications settings/ directory.
Change test index.html to first-index.html
Merge backbone into restructure
Small fix
sign up added