robustness, removed mmap in favor of threaded io+SHA1_Update, problems with large files on 32-bit linux