Refactor valid_vietnamese.py

- Convert the consonant, vowel lists into sets and give them better
names
- Use set operations
- Create a SoundTuple namedtuple to refer to each sound componant by
name
- Create is_valid_string utility function
Add invalidation rule for 'ic'
Add more manual tests for Vietnamese validation
Invalidate 'o' + 'ch' combinations
More Vietnamese validation tests
Comment
Rewrite the validation code for words with 'ch' ending
Invalidate c, p, t, ch ending with NONE tone combinations
Invalidate ơ + c combinations
Fix imports
Fix comment and refactor code position in valid_vietnamese.py
Add validation rule for words ending in 'nh'
Spelling error in comment
Use set literal in valid_vietnamese.py
Use map() instead of list comprehension in valid_vietnamese.py
Refactor valid_vietnamese.py
Simplify the vowel sets: remove NON_TERMINAL_VOWELS
Move valid_vietnamese.py to validation.py
Move ibus_engine.reset_engine()
Rename __raw_string -> raw_string in ibus_engine.py