So yeah, while TorrentRead is not compulsory to use, right now it'd be pretty inconvenient to not use it as the hash grouping function is fidgety to get right. I think group_torrent_hashes() eventually should be moved elsewhere.
This also addresses the issue with paths of more than 1 item so all torrents should now work and adds some error reporting through exceptions