refactored SmoothApp to use CommandLineParserExecutor
changed CommandLineParser.parse() to accept List<String> not String[]
refactored out MessageCatchingExecutor from CommandLineParserExecutor
added ModuleParserExecutor
moved ErrorMessageException from .message.message -> .message.listen
added MessageGroup.toString()
added PhaseFailedException and its handling
added MessageGroup.failIfContainsErrors()
migrated .parse.* classes to MessageGroup