[WIP] fix for broken badge upload

Quick fixes for #822/#828: fixes both the timing out and badge upload going forward, ~~although doesn't yet include a fix for people with bad badges in their accounts~~.

I don't really like the try/catch approach in 002f7b11163e56c3f617aa9e7eae87d91834e7a0. I think `recentBadges` and `allBadges` could do with some refactoring, but they're not well tested so I left that out for now.

A better fix would

- [x] fix accounts with bad badges
- [ ] have failing tests for the recentBadge/allBadge timeouts
- [ ]  have failing tests for the badge upload problems
- [ ] deal with our badge model allowing bad data to get into the database.