#3 Start ServerResponse code
#3 Overhaul to use the new ServerResponse system

I didn't actually intend for this to be so all-at-once.
In fact, I was shooting for something much more
incremental. Unfortunately, this kind of change becomes
just an avalanche of test breakage, and I couldn't help
myself. Ended up fixing stuff until it was all clean.

Probably still needs some additional test work, and could
do with some more features. But I plan to release with
just the test part of that done, and do additional features
in other tickets.
Close #3 - Additional tests for full coverage