gjs_parse_args: Support optional arguments
gjs_parse_args: Support optional arguments

Like PyArg_ParseTuple, use '|' to introduce optional arguments.

Clean up error handling for argument count by checking both
overflow and underflow early.

djdeath/gjs,endlessm/gjs,magcius/gjs,magcius/gjs,magcius/gjs,endlessm/gjs,mtwebster/cjs,endlessm/gjs,djdeath/gjs,djdeath/gjs,pixunil/cjs,endlessm/gjs,djdeath/gjs,djdeath/gjs,pixunil/cjs,joeshaw/gjs,pixunil/cjs,joeshaw/gjs,mtwebster/cjs,endlessm/gjs,pixunil/cjs,joeshaw/gjs,mtwebster/cjs,joeshaw/gjs,pixunil/cjs,mtwebster/cjs,joeshaw/gjs,magcius/gjs,magcius/gjs,mtwebster/cjs