move unexpected errors to STDERR

Unless a user is explicitly asking for usage information, it should be
printed to STDERR, in case they're redirecting STDOUT to some other
place.
show an error and usage if no command given

Fixes #107