User changes (fixes #56, #94)

This pull request is a better version of #110. It adds all users in the team to the hubot brain on login and keeps their details updated if they change username or email address.

It also adds slightly better checking that a message isn't something we sent. Previously we relied on the user name, which can change (although in practice this was unlikely to cause problems).

I looked at updating `robot.name` if the bot user name changes, but most of hubot scripts I tested aren't expecting that to change underneath them and behave strangely. I think it's OK to keep this constant for now.
If the key doesn't exist, `delete` is just a no-op.  So `delete foo[bar] if bar of foo` is basically the same as just `delete foo[bar]`