This function works best when converting numbers to letters, as each number
only has a single possible letter. For each letter, there are 3 or 4 possible
letters, resulting in a number of possible conversions. This function was
intended to convert phonetic telephone numbers to their valid numeric
equivalent; when used in this manner, each letter in a string can be lazily
replaced without changing the rest of the string.