* re-do of old PR that got fuckied upp
* simplify foreach as suggested
* pass distance to PassSpeechData for a check, remove GetListenRange()
* adds RadioQuery instead of subscribing/unsubscribing
* change SpreadMessage to accept owner rather than component
* change RadioQuery to EntityQuery
* remove declared EntityQuery (oops, didn't know what shadowcommander meant)
* refactor ListeningSystem & refactor added chat logic into listen sys
* IGNORE the oopsie STOP LOOKING
* Non-accessed local variable
* Merge cast and type checks.
* StringComparison.Ordinal added for better culture support
* Supposed code improvement in launcher. Remove unused code.
* Update ExplosionHelper.cs
Unintentional change.
* Optimized Import
* Add Robust.Shared.Utility import where it was deleted
* Other random suggestion
* Improve my comment
* Disable speaking while unconscious/dead
Fixes#359
* Add CanSpeak ActionBlocker
Matches the existing technique for other actions like CanUse() and CanThrow().