Changed how user status is set, change how JOIN is handled

* Changed how user status is set, it's now set through IRCUser in the
constructor
* Changed how the JOIN command is handled, channels will always start
with # so use this to find the
\ channel name to join to. Also use the extractNick() method to get the
appropriate username if it
\ isn't me.