common-cli: CLI framework

I guess just let the user know that the particular argument was missing. May be a better idea to make this internal.