Add unmatched pathspecs options

This is related to libgit2/libgit2sharp#274

- [x] :zzz: Implementation in progress
- [x] :flashlight: Ready for review
- [x] :8ball: more work
- [ ] :star: Really ready for review this time

Points of attention:
- `Remove()` is not included in this PR.
- This PR includes some bug fixing related to libgit2/libgit2sharp#330 (the bugs were there before, they were just put into light by the aforementionned PR)