--- from: http://rosettacode.org/wiki/Levenshtein_distance/Alignment