Refactor/errors

I’m not good enough at git to rewriting history. :-/  So, let’s try again.

I basically started over from your `master`, then committed the same changes as the other pull-request piece-by-piece.  The difference this time around:

* I made smaller, more-frequent commits
* I tried to incorporate your feedback from the last pull request