Fix duplicate and missing messages when quickly leaving/joining a room.

Duplicates were caused when you left > rejoined due to not wiping
room.events. Missing scrollback was caused by not wiping duplicate
suppression when the room was left. Also show error dialogs when
failing to leave a room.