[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!

Fixed #699 
Fixed #686 
Fixed #333 
Fixed #3347 
Fixed #263 
Fixed #1420
Fixed #149
This is a little unclear, is . special syntax or is it just a poorly named (IMO) variable?