Yeah, so I did fix them. Exceptions were thrown in badgePage because we were letting bad data get into the DB, so when `getLatestBadges` pulled the badges back out, `body.badge` [here](https://github.com/stenington/openbadges/blob/6e10d3ee2d752d7b094bf1f6279b6b30e07af9f5/controllers/backpack.js#L137) was a string and not an object. We could do a bunch of `if (!typeof body.badge === 'object') next(new Error('oops, bad data');` type stuff, but it seemed better to me to fix it upstream. 

It's not a great solution and I'd like to write tests and then refactor to something nicer, but this gets us moving at least.

I think the 324 is because the exception was thrown in an asynchronous process, so the callbacks get divorced from the parent route function that kicked it all off. Basically if you throw right before [this line](https://github.com/stenington/openbadges/blob/6e10d3ee2d752d7b094bf1f6279b6b30e07af9f5/controllers/backpack.js#L163), you get a 500. If you throw right after it in the callback, you get a 324.