Adding actual error handling to cli.run!
 - now can tell the difference between user and program error
 - spits out help only for bad flags
Cutting version 0.4.6.