Prevent crashes on temporary/partially downloaded files

Fixes #28.

Should not fire `generateFor` if the file is hidden or when the `FileInfo` from the watcher event is a directory. This prevent all the erroneous output and exception traces on every change ('string cannot be of zero length').

Additionally, should handle `FileNotFoundException` is the file disappeared between the event firing and the handling - which is what happens if you download an image using Chrome (creates a temp crdownload file).