Support nargs=-1 for option

Resolves #222

Not sure if this goes against some explicit design decision, but here is a proof-of-concept. I think I've covered the corner cases. `make test` passes.