More helpful version of piece->writes

Previous version didn't make sense. A "write" now includes where to seek
in the file as well as how to slice the piece buffer.
Remember parent directory for multi-file torrents
Start on core.async file system utils

Thank you @swannodette for the async-fn->chan-fn suggestion
Try breaking out protocol module