Small client refactor; interpret 202 responses

This builds on #203, which builds on #196. This will show excessively many diffs until those are merged. I'm not sure how to get github to show only the things new in this PR.

Fixes #204.