Levenstein distance for better matching with regexp

I added levenstein calculation for matching with regexp because it returned first matching country and sometimes there was better choice. For example:

old behaviour:
>> Carmen.country_code("Pol")
=> "PF" # French Polynesia

new behaviour:
>> Carmen.country_code("Pol")
=> "PL" # Poland

Consider adding merging it to master.
Thank you.