increase code coverage (part 1 of N)

I worked through some of the modules with poor coverage and added tests. There's still a lot of work to be done but wanted to get this submitted as it'll be easier to review in smaller chunks.

I also did some minor cleanup of error messages, docstrings, test cases, etc. while working through the code (not exhaustive).

Ready for review/merge, assuming the tests pass and Coveralls indicates an increase in coverage.