Make things fast: iterate through the list of file, and perform all checks for each file at once

For MD5, the sum of the file is calculated and compared with all wanted hashes
For regexes, all regexes are compiled at startup, then the file is read line by line, and each
line is tested against all the regexes.

This is easily one or two orders of magnitude faster!