Non-final words validation now also depends on last_consonant
Divide is_valid_sound_tuple() into smaller functions
Further refactor has_valid_consonants() and has_valid_vowel()
Refactor has_valid_nh_ending()
Remove tuple_ prefix in has_valid_vowel()