Added parameter max_distance to Levenshtein

This allows the algorithm to return faster when only a distance
comparision is needed
Fix: Matrix diagonal check for max distance wasn't actually checking diagonal but all cells
Use nil for no max_distance
Update contributor list
Merge branch 'levenshtein_max_distance'

Adds the ability to stop the distance calculation at a specified maximum for
efficiency where the difference is not important beyond a given amount.