Prevent players from chatting if they're muted.

Getting to this forced creating some new methods and api methods, I
tried to make sure they are all documented with JavaDoc.