Correctly keep track of all of a user's current IPs

Pokemon Showdown allows a user to connect from multiple IPs
simultaneously; however, the server previously only kept track of the
most recent IP. This commit replaces the `user.ip` variable by a
`user.ips` object and makes the necessary changes across the codebase.