Simplifies radio and language code checking

Also moved the procs used to parse the codes into mob/say.dm to make it
easier for mobs that aren't carbon/humans to use language codes in the
future.
Merge pull request #5000 from mwerezak/radio-code-cleanup

Simplifies radio and language code checking
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