Both the CLI and the JUnit @Options annotation should have equivalent option flags and arguments. They should be used to populate a RuntimeOptions that is passed to the Runtime.
RuntimeOptions should accept a String which can either be argv, an array created from @Options or possibly some other runner, like an IDE plugin.
Validation should happen inside RuntimeOptions.
@nfisher will be working on this
Giving another stab at #160
WIP for #160
This is now merged back to master.