say_understands() fixes and cleanup.

Whether or not someone can understand a language is now handled entirely
by the language check in mob/say_understands(). The way the old code was
written makes me think it came before languages were implemented.
Derp, forgot speaking parameter.
Moved silicon/say_understands() to silicon/say.dm
Adds languages for AI
Adds languages for robots
Adds languages for pAIs

Left universal translator as-is.
Silicon mob types can now speak languages
Added speech synthesizer list for silicon mobs
Whisper now supports languages
Removed verb assignment from hear_say()

This gives more control over the verb to procs that use hear_say(). Also
they were already assigning the language specific verbs to begin with.
Adds non-verbal languages
Adds Siik'tajr
Fixes language_keys not initialized correctly

Also prevents speech ending verb from overriding language verb for
humans.
Allows using language while whispering using :w
Fixes bad operator precendence in robot...

...language checks, and removed universal_speak from robots.
Fixes being able to understand NONVERBAL...

...languages when blind.
Allows robots to use languages over the radio
Fixed NONVERBAL check.
Merge pull request #5008 from mwerezak/say-understands

Language system improvments - silicon mobs, whispering, nonverbal languages