Refactor argument handling into a separate file

This is almost a complete re-write of the argument handling code, with everything being much more robust than before. This version is also much more idiomatic Xilem code than before, and hopefully that will continue to improve over time, with message-handling being the next obvious step.

Created by  finchie  on November 18, 2023
MIY7QPYK3EZTOGZF5PWU2ZKM7NG5ANWKNHS56FVTOY7PPATWLSSAC
Change contents