Added back old version of distance()

To prevent a possible breakage in the API of the Levenshtein struct I
have added back the old version of distance and added my memory
efficient version as a private method which is called internally by
levenshteinDistance()