This merge will change all the existing common structures which are implemented as byte slices and parsed(repeatedly) to obtain the information inside into structs which are parsed when they are loaded into structs and which can convert themselves back into a []byte
representation with a function. It also adds interface types for working with different types of keys, certificates, and signatures.