Fixes to recently discussed issues in IRC protocol implementation

This pull request contains fixes for the following issues:
1. No error message in case of bad chat room name: Now throws OperationFailedException such that Jitsi will show an error dialog.
2. In case a chat room name is entered that is not prefixed by any of the recognized channel types, the chat room name will automatically be prefixed with '#'.
3. Test added for the case where the non-regular channel prefix is used (& instead of the typical #). To check whether it remains a recognized channel prefix.
4. Fix for inserting a large number of chat rooms in de UI chat room list during a chat room listing operation. This fixes at least the race which will result in thousands of exceptions being thrown because each discovered chat room is inserted individually and listeners are informed of each individual insertion. The proposed solution inserts all the chat rooms at once, then still needs to inform listeners for every individual chat room. This eases the problem at least, because all chat rooms are already inserted when listeners are informed. So no simultaneous modifications are happening anymore. (This modified approach should only affect chat room listings.)