rewrite the action module

now we have a diffrence between action fired by internal commands like
JOIN, CONNECT, etc and the command fired by users trought chat

to implement un new action a user has to create a struct and implement
the interface Actioner and the user the function AddUserAction
internal action don't have to be exported