command tab-completion
commands module overhaul
implement help command
table_output method, list commands if none given to help
tabular output for ls
context-sensitive tab completion
put fix: use local file basename if no remote path given