Fix 'refleak' introduced by fnmatch cache purge tests.

This introduces a 'purge' function for the fnmatch module analogous
to the 'purge' function in the re module.
diff --git a/Lib/fnmatch.py b/Lib/fnmatch.py
index 26ae4cc..aa682bb 100644
--- a/Lib/fnmatch.py
+++ b/Lib/fnmatch.py
@@ -12,12 +12,17 @@
 
 import re
 
-__all__ = ["filter", "fnmatch","fnmatchcase","translate"]
+__all__ = ["filter", "fnmatch", "fnmatchcase", "purge", "translate"]
 
 _cache = {}  # Maps text patterns to compiled regexen.
 _cacheb = {}  # Ditto for bytes patterns.
 _MAXCACHE = 100 # Maximum size of caches
 
+def purge():
+    """Clear the pattern cache"""
+    _cache.clear()
+    _cacheb.clear()
+
 def fnmatch(name, pat):
     """Test whether FILENAME matches PATTERN.