fixed option registration

The option registration would overwrite already available options. Now this is handled properly (i.e. it is checked
whether an option with the respective short or long option is already there).
fixed registration of the help action

The help action is injected into the system from the off. This requires some special handling.
make mixing arguments and options possible

The order of options doesn't matter anyway. Those of arguments is relevant, they can't be mixed (there's no reference on
how to associate strings with according args). But it's perfectly possible to mix arguments and options (like appending
an option to the end of the command line).
Merge pull request #1 from dynport/cli_improvements

Cli improvements