[sftp] do not multi-finish on close calls
all frontend commands are now finishing, as a result commands calling
other commands would double finish or error-finish which constitutes soft
violations of slavebase expectations.
fix this by creating a specific close helper for internal use which
does not finish. this helper is now used by all commands and prevents
commands from double-finishing through close