Added .gitignore parsing for watcher excluded files

Adding feature requested in #4.

Decided to not parse `.gitignore` into regexs but instead use git (via `Git::Repository`) to give us a list of ignored files to add to the excluded files list. Since strings are support in the `exclude` option as long as they are absolute paths, it works. Regeneration of excluded list is required at each file change to ensure new files, created after the excluded list is generated, are also correctly excluded.