Command Interface

This isn't ready for merge yet, PRing for code review/comments.
And: how would you signal `cmd1 -abc arg1` ? you'd _have to_ do `cmd1 -abc -- arg` or rely on the type of the option, which seems sketchy. 

I think a command string should always be unambiguously human parsable, without knowing the program. (another reason for requiring `= in --key=val`)