More advanced glob filters

#3 adds basic globs through `fnmatch`, but I wanted to support extended globs like what Git uses (e.g. in `.gitignore` files).

Both features look done but I'm holding off on this one until it's been tested more carefully.