epic refactoring for our purposes

focused on formats that we are currently considering, removed others

tried multiple canonical structs, not just primitives

removed time from structs for now (should add again later)
I have an extra layer of indirection for both protobuf and non-protobuf. I am actually testing a "map in a struct". Should I change this to "raw map"?