Efficient version of Levenshtein Distance Algorithm. It saves CPU by returning early if the distance goes over maxAllowedEditDistance. See examples in LevenshteinDistanceTest class.