Add multi-team support to this lovely script.

It's now possible to add multiple teams (there are none by default).

Instead of storing users as keys we're storing them as array items
instead because it didn't seem like there was any relevant information
stored in the user object (if a user isn't a team member anymore
what's the point of keeping their object around?).

We can now:
- list all teams
- create a team
- add a user to a team
- add oneself to a team
- remove a user from a team

> Isn't it grand? Isn't it great?
> Isn't it swell? Isn't it fun?
> Isn't it?

Signed-off-by: Katie Delfin <katiedelfin@gmail.com>
Well, `0` would mean the team is empty too. Seems like an opportunity for a meaningful return value, or is that breaking a convention I'm not aware of?