Refactor command processing from run loop
Better flow control on Shell.run()
New option to nfspysh: -c for batch-mode commands
Properly handle empty commands (skip)