add a ProcessTool which lets commands be run locally with many of the same semantics as SshTool;
also refactor SshTool hierarchy (and tests) to share more code, and generally be cleaner.
also removes need for \\$ in SshCli.
fix NPE resolving name/id from web api