Update NickFix to have basic nick recovery from the alternative nicks change.

This should be improved so that we won't create a chain reaction resulting in tonns of nick changes and thus flooding the channels.
Smarter NickFix to prevent a domino reaction

- Fix UserNickChanged event.
- Add event cancellation for ERR_NICKNAMEINUSE.
- Added event PreNicknameInUseError.
- NickFix will now prevent the bot from auto-retrying with another nick if `NICK` failed.
Merge pull request #20 from 404d/issue/20.nickfix-altnick-fix

NickFix should still try to recover the main nickname.