Fix return value in git_config_get_multivar

If there is not an error, the return value was always the return value
of the last call to file->get_multivar

With this commit GIT_ENOTFOUND is only returned if all the calls to
filge-get_multivar return GIT_ENOTFOUND.
Add more tests for git_config_get_multivar

The old tests didn't try failing lookups or lookups across
multiple config files with some having the pattern and some
not having it.
A little git_config_get_multivar code cleanup
Merge pull request #1716 from arrbee/fix-config-get-multivar

Fix git_config_get_multivar with interleaved missing entries