Add piece hash cacheing

Reconstructing the hash of a file every time we relaunch is slow and
unnecessary. This writes out hash cache files to the torrent directory
next to the file being served.