Allow App::Subcommander to check for problematic setups during .run

Rather than at class finalization time
Check an app's validity before running
Test aliases overwriting originals
Test aliases + originals + array parameters
Make sure original names and aliases play nice with list options
Test an array option of Ints
Update roadmap