Error characterization tests

This piggybacks on #17 and adds a bunch of characterization tests for validator errors, focusing on what I think are the main methods likely to be used (i.e. the methods documented in the README).

Because I'm just trying to characterize how errors currently work, there are a few TODOs or FIXMEs noted in the new test file for things to be improved later. This also doesn't include a writeup on errors in the README because I thought first we might want to make a few changes or improvements to how we think it **should** be done before I write up how it's currently being done.