Use python-Levenshtein for fuzzy string matching

This introduces a new dependency, `python-levenshtein` to calculate string edit distances. This speeds up the fuzzy string matching used to match modified cells, but it might make it more difficult for users to install.