Don't remove channel unless all users have parted. + test

Hey

I experienced that when two clients join the same channel, and then one part and rejoin the name-list was not correct. Messages could also not be sent properly.

So I made a small test and it seems it might be fixed with this commit. The test is a quite ugly, but it does the job.