service: Set host, ident and gecos on self.user

Allow subclass to set them custom, else default to nick and server name.
service: Fix a race cdn where a user might disconnect before we try to send them a message

This is mainly a problem in callbacks and stuff, but we put it in the helper function to keep it simple.
service: Handle nick collisions with our LocalUser

Bitch-slap the other user.