[Fix] Actually use SHA1 instead of MD5
[Fix] Fix error output when an exception is thrown
[Fix] Also update the record hash when mtime changes, duh!
[Fix] Properly handle broken symlinks
[Feature] Show approximate amount of data to be processed in the synopsis
[Feature] Show amount of data to be processed in the progress updates
[Maintenance] Code cleanup and simplification