Tests for and fix chat state notifications

* Notifications can come in a message that has a body or other elements
* The existing namespace was catching candy:core.message events in handlers which are expecting simply chat notifications
* Chat state notifications also work in MUCs
* Should handle active and gone states
* Refactored for simplicity

//cc @melissanoelle