Clean up the implementation cleanup mechanism. Also remove ->issymmetric, since it's easier to just do it in dst_api.c. Move the memory allocation wrappers into openssl_link.c, since they're openssl specific. add dst_key_privatefrombuffer(), which coverts a public key into a private key.