Make config reading continue after hitting a missing include file.

For example, if you have

[include]
path = foo

and foo didn't exist, git_config_open_ondisk() would just give up
on the rest of the file.  Now it ignores the unresolved include
without error and continues reading the rest of the file.
Good point.  I'll soon push a version with this, and all the other changes.  But this made me think of something else.  If we get `GIT_ENOTFOUND`, then `giterr_set` has been called.  Should the error state be cleared?  I can see an argument for both, but given that I think the convention is to only set an error state when you're returning an error value, I'm thinking that the error state should be cleared.

So, unless I hear otherwise before my push, I'll add a `giterr_clear()` and add a line checking for a clear error state to the test.