Test cases for Schematic

This set of test cases should help improve coverage a little bit, as well as providing unit tests for things that were only coincidentally being tested elsewhere (e.g. serialization tests that use getters).

Apparently JaCoCo has no good way of specifying that parts of a file should be ignored, so the coverage miss in `populateDefaultType()` has to stay that way for now, unless someone were to encourage me to e.g. use reflection to call that (private) function twice, which guarantees an error the second time. (I'm not against doing that, but someone else needs to make the call because it's a bit of a non-standard thing to test. But I like the idea of enforcing 100% coverage on the core library simply because everything else uses it.)