Better error messages for the namespace argument

Work around when the first arg is -1

When seemingly valid arguments are given for non existent classes,
return a meaningful error message.
Better error message for bad -m args.
More descriptive error message for nonexistant ns.

Closes #1257.
Merge in better error messages for -m in lein run.