Add support for ** matches in ignores

This is an experimental addition to add `**` support to fnmatch pattern matching in libgit2.

It needs more testing.

Fixes #2246 

/cc @joshaber