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.