Fixes and cleanup for say_understands()

Whether or not someone can understand a language is now handled entirely by the language check in mob/say_understands(), universal_speak, and universal_understand.

In the future we might want to consider integrating the language system a bit better by adding 'common' as a language and reserving null-language for simple_mobs, monkeys and the like. That way we can avoid having ```if(!speaking)``` all over the place.