Properly handle nick length limits.

The limit is inferred by looking at what the server thinks our nick
is and, if it's shorter than whatw e think, accepting that as the
length. Furthermore, the case where a nick that is too long being
initially requested has been fixed, by looking at the RPL_WELCOME.

This doesn't change the API, but I have bumped the version up a
non-breaking API change point, rather than a code change point, as
it alters the externally visible behaviour of the client.