Add pure-Ruby implementation of Damerau-Levenshtein

I add a pure-Ruby Damerau-Levenshtein algorithm which could be used in place of the C-based dependency in cases where that is not a viable option.

However, I am not exactly sure how to integrate it into API to allow the end user the choice between the two. So I leave that up to smarter folk than I.