Add some more common things to the .gitignore
Removed the regen-docs command which isn't useful to anyone but ianb
Remove the trailing whitespace
Use CRC32 to verify if a file has changed or not

Simply using mtime isn't enough because mtime often has >=1s
precision and a particular run() operation can take <1s to
complete. When this happens you end up getting files that randomly
show up in files_updated depending on if you happened to hit
a second boundry turning that test run or not.