Write the documentation of combine-predicate.pl; add "use warnings" everywhere.

- commit: c1ef3e70f085d017f97ca70aeb7421ff7b62d534
 - Fixed the use of uninitialised value when @ARGV == 0 (combine-predicate.pl).

- d104b88a1e12c9f25c303165b53e1bbf69820216
 - Rename levenshtein.pl => Levenshtein.pm
 - rename function "levenshtein()" => "distance()" since the package name itself represents the type of the distance.