add support for handling "unknown" options not registered with the parser.

It's a bit bigger than I thought it was, but still pretty tiny.

Closes #30
needless to say, this would be fewer lines of code if instead of passing `arg` explicitly it relied on the hoisted `arg` variable, but that's really cosmetic