Creating a class to handle preparing ARGV.

Before the AppGenerator is started, ARGV needs to be modified to
correctly account for some things. I'm extracting these out into their
own class.
Merge pull request #11378 from wangjohn/class_for_application_generator

Creating a class to handle preparing ARGV.