client: Break reference cycles after stop handlers finish

These reference cycles are unavoidable while client is running,
but once we've stopped they cease to make sense - channels are no longer affected by new client info,
no more messages to be handled...
userlist: Make sure everything is case insensitive
userlist: track lesser modes too

This makes it far more likely (though not guarenteed) to have correct behaviour
when a user is demoted
users: To track a user and all their info - WIP
users: Implement whois handlers
Rename from geventirc to girc to avoid confusing pip
Change name of numeric 760 to the correct name
Replace client handler logic with new Handler() class

Better support for stacking bindings, registering and unregistering, and most importantly
multiple clients mapping to different instances of a class with a method callback.