Rename a file that was previously called tests.cpp
PositionKey: fix dumb bug in print that was causing crash
SemElemSet: learn new "include_zeroes" option

This specifies whether the SemElemSet instance will include zeroes in it; that is, whether 0_set = {0_elem} = {} or not.
KeyedSemElemSet: refactor a little to clarify later changes

KeyedSemElemSet will stop being sem_elem_t->set(sem_elem_t) and soon start being just sem_elem_t->sem_elem_t.

However, I'll change the tests so that the value sem elem is a SemElemSet, but this will require abstracting some things.
KeyedSemElemSet: refactoring tests: add total_size function

The change mentioned in the previous commit message means that the size computations will differ. We want to test both.
KeyedSemElemSet: This now stores sem_elem_t -> sem_elem_t

instead of sem_elem_t to set(sem_elem_t) like it used to.