[WIP] [DO NOT MERGE] Saycode rewrite


![of_happenings](https://cloud.githubusercontent.com/assets/3975713/3812431/2e5de1e0-1caa-11e4-92cf-d54424b9e53d.gif)


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!
* Hundreds of inexplicable undefined proc errors!
undefined var. I think it needs to be in the if(isliving(src))