Fix possible out of memory error while hashing large files
Fix possible out of memory error while hashing large files

When hashing a file, the hashes were accumulated into a list of Future
results and only turned into their string concatenation at the end of
the hashing. When hashing large files with a large number of pieces,
this would quickly consume a lot of memory. This change introduces a
frequent accumulation of the result hashes from the hashing threads into
their string representation as the hashing goes.

Also added progress log messages during hashing.

Inspired by a fix by Pavel Sher (http://github.com/pavelsher).

Signed-off-by: Maxime Petazzoni <d85b6a1285e9bda1f090e0e96b2c20e3f562641e@turn.com>

JetBrains/ttorrent-lib,zanella/ttorrent,zanella/ttorrent,akkinenirajesh/ttorrent,13922841464/ttorrent,shevek/ttorrent,mpetazzoni/ttorrent,d3roch4/ttorrent,fspereira/ttorrent,henkel/ttorrent,indeedeng/ttorrent,rambegaokar/ttorrent,andrew749/ttorrent,indeedeng/ttorrent,tsbatista/ttorrent,akkinenirajesh/ttorrent,fspereira/ttorrent,d3roch4/ttorrent,pisek/ttorrent,mpetazzoni/ttorrent,henkel/ttorrent,pisek/ttorrent,rambegaokar/ttorrent,13922841464/ttorrent,JetBrains/ttorrent-lib,tsbatista/ttorrent,sroze/ttorrent,sroze/ttorrent,shevek/ttorrent,andrew749/ttorrent