Rework irc.users and User() to transparently create a store of nicks -> UIDs
Rework irc.users and User() to transparently create a store of nicks -> UIDs

- This turns IRCNetwork.users into a new UserMapping class, which stores User objects by UID (str) and provides a 'bynick' dict storing case-normalized nicks to lists of UIDs.
- Turn User.nick into a property, where the setter implicitly updates the 'bynick' index and computes a case-normalized version of the nick (User.lower_nick)

GLolol/PyLink