Avoid fptError{}.Error() panics
Avoid fptError{}.Error() panics

Based on reports, sometimes there is a nil pointer exception in
ftpError{}. This would happen if err is nil and code is 0 (which I
didn't think was possible). I'm not sure how it happens, but re order
things to avoid the panic.

secsy/goftp,secsy/goftp