Fixed a couple of bugs in user.js and list.js

- `getUserFromEmail` now returns an error if no user was found, which I believe is the correct behaviour, and added a check in `login.js` to account for this
- `list.js` now fetches the entire game object instead of the public object so it can check the game's `status` property correctly, then maps them to public objects when returning them as a response
- `list.js` was iterating over `Object.keys`, which was unnecessary and doesn't actually work as it turns out