Reducing query count

@wedaly, @stephensanchez: There are four tests that don't pass right now, mostly because I lobotomized the `AssessmentSerializer` to cut a lot of queries. I think I'm just going to change the contract, though I need to look a little more carefully at what's going on with feedback now. It should actually work in practice, even with the failing tests.

In any case, I put this up a little before it's totally ready in case it becomes useful to run for load testing. It should substantially lower the number of queries we're doing across all our views. I exceeded my mandate somewhat because I kept seeing that "one last thing". I'll just clean this up for merging tomorrow morning.