Fix the broken indent in IRCUser
Add NICKSERV as a command alias to nickserv

Apparently this is needed for compatibility with some clients.
nickserv: Protect timer.cancel() calls with a timer.active() check

I had assumed a timer.cancel() on an already-fired timer would be a no-op.
Instead it throws an exception. This fixes that.
nickserv: Track pending inserts to register nicks

This prevents a user from registering too many nicks.
Without this check, a user could send two register requests in rapid succession,
and the second could be checked before the first is finished inserting.
nickserv: Some nicer error messages
Merge pull request #41 from Heufneutje/fix-indent

Fix the broken indent in IRCUser
utils: Implement a safer version of defaultdict which auto-deletes keys when value == default
nickserv: Replace usage of defaultdict with new SafeDefaultDict
Merge pull request #45 from ekimekim/dev/0.3

Some misc fixes
ratelimit: A module that rejects commands in excess of limit per interval seconds

Defaults to 60 per 60sec, ie. an average of 1 msg/second
Add extra functionality to ratelimit to kill a connection after too many messages over limit
ratelimit: Don't prevent PING/PONGs even after limit is hit

Ignoring these is a great way for clients to get timed out accidentially.
Make ratelimit a core module
ratelimit: Change default kill limit