This change adds Cred.Free() and finalizers to prevent memory leaks. It
also makes the interface for Cred more idiomatic and return actual
errors intead of ints.
Allowing to use public and private keys from memory
without reading them from disk and without using an
ssh agent.
Signed-off-by: David Calavera <david.calavera@gmail.com>
While Go will assign the correct type to a const block when it
auto-creates the values, assigning makes the const be typeless and will
only gain it in each particular use.
Make each constant in the blocks have an assigned type.