* src/exclist.c (struct vcs_ignore_file): New field: matchfn.
(struct exclist): New field: vcs.
(info_attach_exclist): Initialize vcs.
(excluded_name): Rewrite using excluded_file_name_status from gnulib.
(git_addfn): Special handling for entries starting with '!' and '/'.
(vcs_ignore_files): Initialize matchfn member in the ".gitignore"
entry.
* tests/exclude23.at: New test.
* tests/Makefile.am: Add new test.
* tests/testsuite.at: Include new test.