Change nick_lists from dict-or-arrays to dict-of-dicts

This is to be able to store flags that are specific to nicks and
channels. Currently 'prefix' is stored in the inner dict for fast
retrievement of a users channelflags.
BUG: nick would be removed from all channels

When parting a channel the nick would be removed from
all channels in nick_lists
FEATURE: Add user tracking

Added a dict of dicts with all nick-to-userhost.
FEATURE: Added support for ISUPPORT (005)

The capabilities of the connected server are availible
in the dict isupport
Merge pull request #21 from the-louie/master

Minor improvements