fix in class name
use StringIO.getvalue instead of StringIO.read()
better assertions instead of generic
use own verification for --mode arg. default do not allow for aliases

also added missing help for --mode arg
disable star-args messages
--mode agr: map aliases to main name when parsing instead of when using