Added profile-dir to common known options. Added function to validate ar...

...guments passed to command line and break the execution in case the argument is not part of known options or if the argument requires value, but the user had not passed one. Change options to use function from common helpers to validate and parse yargs arguments.
Yes, process.cwd() always exists, but consider the scenario where options.path has value, but its a directory that does not exist. For example:
appBuilder init native --path dir1
In this case projectDir will be dir1, but if it does not exist, we must show valid message. The other option is to check this in getNewProjectDir method, but it is used in several different places and in some cases if the directory returned by getNewProjectDir does not exist, it is created.