Changes to make  ContainerMain and AdminMain more consistent.
Add a new method to parse command line options that can be called from testing code to avoid a possible System.exit call.
Add new runtime exception for invalid command line options.
Encapsulate the creation of ContainerLauncher inside a factory class
Place creation of AdminMain in AbstractAdminMainIntegrationTests