nick_auth allocates and sets up dynamically

Memory for nick_auth is now dynamically allocated
username can be changed much easier
new init() function created