Use dynamic programming for Levenshtein distance.

Now it doesn't take a minute to fail to autocorrect 17 characters.
Fix error type to string
Added test for command suggestion