Add new word formatting logic for DNS v10

This change adds new dictation formatting code for DNS v10 and earlier.
The new code structure forms the basis for supporting dictation
formatting for DNS v11 and later.
Replace old word formatting logic with new code

This change removes the old word formatting logic and replaces it with
the recently added logic. It still only covers DNS v10 and earlier.
Add link to Pastebin document about Natlink API
Fix backslash processing in dictation results

This change causes the last backslash character to be used instead of
the first to split written and spoken forms in dictation results for
DNS v10. Using the first breaks on the backslash character
("\\backslash") where the written form itself is a backslash.

This change also adds some minor improvements to the word
formatting doctests.
Fix no-spaces mode in dictation formatting
Add word formatting logic for DNS v11

This change adds new dictation formatting code for DNS v11 and higher.
However, this new code is not automatically active because the word
formatting class always defaults to the DNS v10 formatting logic.
Improve whitespace and line wrapping
Add auto-detection of appropriate WordParser

This change adds the WordParserFactory class which performs auto-detection
of which WordParser class to use, i.e. for DNS v10 and lower or DNS v11
and higher.
Merge branch 'feature/dict-fmt'
Reactivate commented out test suites