Updated the caching function 'lru_cache' with a newer version found on ActiveState : http://code.activestate.com/recipes/578078-py26-and-py30-backport-of-python-33s-lru-cache/