[WIP] [DO NOT MERGE] Saycode rewrite

HIGHLIGHTS:
* All atom/movables can talk and hear!
* Hear() proc added to remove shitty typechecking!
* mob/living/say() is no longer a monolith!
* Removal of duplicates, copypasta and typechecks!
* HEAR flag to determine wether things can hear!
* Languages are bitflags instead of typechecks!
* Faster recursive checks!
* ALL and NONE #defines for bitflag convenience!
* Almost all saycode bugs fixed!
* Removal of the unused silicon/decoy type!

Fixed #699 
Fixed #686 
Fixed #333 
Fixed #3347 
Fixed #263 
Fixed #1420
Fixed #149

Fixed #950 (Considering that this is a complete rewrite, it's probably safe to close this issue, and if it were to happen again it could be re-opened)
Do we have any clue as to the cause of this?