restructure certs/keys; add key/cert generation

NID is also now an exposed type
improve GC handling (fixes #10)
standardize OpenSSL return handling
add pem.go with SplitPEM function
add support for chains in ListenAndServeTLS
add NewCert..Store(), LoadCert..sFromPEM()
Merge branch 'sni'