Disk buffer storage mirrors the torrent structure

Implements #23 for both single-file and multi-files torrents.

As said in the code, I use the synchronous version of mkdirp because it helped a lot in avoiding deeply nested asynchronous callbacks (and loops...). And since it's called only one time per file, it's not too problematic.

Also related to #32

The torrent cache file path change allows multiple instances to share the same buffer folder without conflict.