This is a combination of many commits:
---------------------------------------------------------------------------
final. add public/private for core classes.
wip - big cleanup cosets.
index<>, cosets<>, and group<> all defined
transparent <void> overrides that operate directly on indices, not names
inheritance hierarchy means one can drop or change generator names
still missing path support.
wip - named cosets
fix lang test
wip - named generators
Move Group docstring away from specialization.
Remove tc::Gen; use Group<void>
remove tc::Rel
add thousands separators for benchmark limits
add generators list to tc::group
remove pair_map
Coset type is now `unsigned int`. Half the size as before; speeds up malloc.
Index type is now `size_t` for correctness. More expressive and ___might___ speed up array lookup?? Difference seems negligible since we aren't allocating tons and tons of those.