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)
Why are we using cryptographically-strong randomness instead of a plain old prng?