Add filesystem iterator variant

This adds a new iterator type for scanning the filesystem from a root directory.

- [x] add `git_iterator_for_filesystem()` and `GIT_ITERATOR_TYPE_FS`
- [ ] make workdir iterators be a wrapper around filesystem iterator (which implies hooks or some other way to add ignore support, skipping of `.git` entries, and submodule detection)
- [ ] tests for filesystem iterators