dm: cleanup CLI UX for people getting started
dm: cleanup CLI UX for people getting started

Before this patch dm would print out the wall of usage text that would
scroll off the screen in many error cases. This made learning dm hard.
Instead have more compact error output, like kubectl, and only return
non-zero on real errors.

```
$ dm foo ; echo $?
Error: unknown command 'foo' for 'dm'
Run 'dm --help' for usage
1
$ dm deployed-instances; echo $?
No type name supplied
1
$ dm 2> /dev/null; echo $?
0
```

There is more to do to make this tool friendlier but this was
low-hanging.

thomastaylor312/helm,FengyunPan/helm,sparkprime/helm,michelleN/deployment-manager,adamreese/helm,migmartri/helm,michelleN/deployment-manager,bacongobbler/helm,bacongobbler/helm,adamreese/deployment-manager,sparkprime/helm,jascott1/helm,SlickNik/helm,flynnduism/helm,technosophos/deployment-manager,migmartri/helm,technosophos/k8s-helm,eicnix/helm,qwangrepos/helm,jackgr/helm,jackgr/helm,jackgr/helm,kdada/helm,adamreese/deployment-manager,sparkprime/helm,technosophos/deployment-manager,sparkprime/helm,yan234280533/helm,appscode/helm,bradj/helm,michelleN/deployment-manager,fibonacci1729/helm,jackgr/helm,technosophos/deployment-manager,jascott1/helm,yan234280533/helm,helm/helm,sushilkm/helm,vaikas-google/deployment-manager,technosophos/deployment-manager,rbwsam/helm,eicnix/helm,adamreese/deployment-manager,SlickNik/helm,helm/helm,thomastaylor312/helm,flynnduism/helm,vaikas-google/deployment-manager,iamzhout/helm,kdada/helm,michelleN/deployment-manager,sushilkm/helm,technosophos/deployment-manager,rbwsam/helm,adamreese/deployment-manager,sparkprime/helm,fibonacci1729/helm,adamreese/deployment-manager,adamreese/helm,appscode/helm,bradj/helm,iamzhout/helm,FengyunPan/helm,qwangrepos/helm,technosophos/k8s-helm,jackgr/helm