pickle format version now depends on PickleFormat.MajorVersion and PickleForamt.MinorVersion
added some tests for some types, refactored ValSym