A bunch of cleanups

This satisfies and closes #43.  The commits tell the story.  No behavior changes - just style and test cleanups.

@jcredding ready for review.