add "ignore" setting (and ignore hidden files by default)

A few thoughts:

- I spent some time deciding whether to call this setting "exclude" or "ignore". I went with the latter as the setting serves a similar purpose to .gitignore, .hgignore, etc.

- Another approach would be to instead have a setting for paths to *include*, but I think *everything except these* is more intuitive.

- Should certain paths be ignored by default? If so, which ones? .DS_Store? Others?