Make SourceOptions' error message more generic

SourceOptions is used by the run, grab, jar, and now test commands.
Update its error message so that it's more appropriate for use by all
commands and not just run.
Polishing
Package application classes in the root of the jar

Application classes are now packaged in the root of the jar file.
This is consistent with the Maven plugin's jar layout.
LaunchedURLClassLoader is now used to load the application's classes
as its delegation model is required for the new layout to work.