Improved response-level error handling (Fixes #1).

All 67 tests pass.