Improve settings handling.

The previous way settings were handled were causing the unit tests to fail for
odd reasons.  This should work better.
Improve unit test infrastructure.

Rather than defining a settings class in each unit test file, this allows
settings settings one-by-one without an extra class.
Add additional asserts to a couple of unit tests.

Just to make sure the length doesn't change after reading from a Body or Input
object.
Add unit tests for Body class.
Fix minor typo in README.

"Should" is spelled with the "d" *after* the "l".