Added support for gitignore files

The watch (and serve) command will now ignore files based on .gitignore. This can be useful for when your editor creates cache or swap files.

I saw that others were having the same issue I'm having, namely that mdBook is frantically rebuilding files with every keystroke, because the editor keeps saving it in a cache file. This allows you to add those files to .gitignore. In my case, adding a line with "*.kate-swp" fixed the problem completely.

https://github.com/rust-lang/mdBook/pull/1044