Code effeciency project: /proc/get_mobs_in_view

Before:  Everytime you say something. This proc is ran.  Along with it, recurses through EVERY /obj/ & /mob/ in view's contents, and EVERY /obj/ & /mob/ in that contents...and once again.

After:  Fuck recursion, we're going to loop through clients and see if they are within any obj's or mobs within one iteration.  MUCH cheaper, and probably less buggy.

If someone can't hear everyone and they are within an object and it's not catching?  add it to the list commented for it of type checks.

Also, fixes #4191 if it wasn't already fixed.