Use *string for nil string values

Instead of having extra "isValid"-type variables, use a pointer.  This
makes things cleaner and is apparently the idiomatic thing to do.
Implement functional (albeit crude) scp functions

I cannot find a scp or sftp library for go.  go.crypto/ssh doesn't
implement either.  In lieu of creating an scp or sftp library, I am
punting and simpy executing scp (via the exec package).  However, this
is a bit ugly (considering we're using go.crypto/ssh sessions for
everything else), and it means that geto can't support password
authentication.  Issue #1 has been created to track this issue.