Provide to allow replacing filesystem dependency.
Provide to allow replacing filesystem dependency.

By moving the implementation to a class, and making it possible to provide
custom implementations for the filesystem functions that are used, it is now
possible to use the globbing code on virtual filesystem implementations.

This is now clearly moving away from the original glob module, and as such,
I took the liberty to refactor a bit, change some of the internal names used,
and to add comments.

The public interface, the glob.glob and glob.iglob functions, remains
unchanged.

musically-ut/python-glob2