Redesigned CommandArguments

See https://forums.spout.org/threads/command-argument-parsing-the-new-way.7863/ for more info.

Signed-off-by: zml2008 <zach@zachsthings.com>